Idea实现WebService实例

Idea实现WebService实例因为工作需要,数据传输部分需要使用webservice实现,经过两天的研究,实现了一个简单的例子,具体方法如下。首先需要新建一个项目,如图:下一步点击finish,然后会生成一个webservice项目,在HelloWorld类里面写自己的方法,在file下编译一下这个类,不编译,idea会提示不通过,编译后需要将为该服务发布WSDL文件,此文件必须生成,如下图:选择需要发

大家好,又见面了,我是你们的朋友全栈君。

因为工作需要,数据传输部分需要使用webservice实现,经过两天的研究,实现了一个简单的例子,具体方法如下。

首先需要新建一个项目,如图:

Idea实现WebService实例

下一步点击finish,然后会生成一个webservice项目,在HelloWorld类里面写自己的方法,在file下编译一下这个类,不编译,idea会提示不通过,编译后需要将为该服务发布WSDL文件,此文件必须生成,如下图:

Idea实现WebService实例

选择需要发布的服务

Idea实现WebService实例

然后部署到TOMCAT,如图,这里需要注意的是需要引入这个库才能正常运行webserviceIdea实现WebService实例Idea实现WebService实例

启动tomcat后,在浏览器中敲入如下代码:localhost:8080/services 回车测试webservice是否部署成功:

然后编写客户端测试代码,如下:

Idea实现WebService实例

主要代码:

服务端:

package example;

import javax.jws.WebService;

/**
 * Created by zhangqq on 2016/8/26.
 */

public class HelloWorld {

  public String sayTitle(String from) {
    String result = "title is " + from;
    System.out.println(result);
    return result;
  }


  public String sayBody(String Other) {
    String result = "-------------body is-------------- " + Other;
    System.out.println(result);
    return result;
  }

  public String sayAll(String title,String body) {
    String result ="--------title:"+title+ "----------------/r/nbody:--------------------------- " + body;
    System.out.println(result);
    return result;
  }
}

客户端:

package test;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.utils.StringUtils;

import javax.xml.rpc.ServiceException;
import java.net.MalformedURLException;

/**
 * Created by zhangqq on 2016/8/29.
 */
public class WebSvrClient {


    public static void main(String[] args) {
        String url = "http://localhost:8080/services/HelloWorldService";
        String method = "sayTitle";
        String[] parms = new String[]{"abc"};
        WebSvrClient webClient = new WebSvrClient();

        String svrResult = webClient.CallMethod(url, method, parms);

        System.out.println(svrResult);
    }

    public String CallMethod(String url, String method, Object[] args) {
        String result = null;

        if(StringUtils.isEmpty(url))
        {
            return "url地址为空";
        }

        if(StringUtils.isEmpty(method))
        {
            return "method地址为空";
        }

        Call rpcCall = null;


        try {
            //实例websevice调用实例
            Service webService = new Service();
            rpcCall = (Call) webService.createCall();
            rpcCall.setTargetEndpointAddress(new java.net.URL(url));
            rpcCall.setOperationName(method);

            //执行webservice方法
            result = (String) rpcCall.invoke(args);

        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;

    }
}

实例地址:

源码下载地址

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162632.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IDEA插件-热部署:JRebel

    IDEA插件-热部署:JRebelspringboot项目开发过程中通常修改了某分部代码需要重启服务才能生效。通过JRebel插件可以实现热部署,避免了频繁重启服务。

    2022年6月18日
    52
  • webstrom激活码2021[最新免费获取]「建议收藏」

    (webstrom激活码2021)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月27日
    123
  • mac goland 2021.12激活码_在线激活

    (mac goland 2021.12激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html3YVYA7ZZGQ-eyJsaWN…

    2022年3月30日
    146
  • vmware15虚拟机激活码【2021免费激活】「建议收藏」

    (vmware15虚拟机激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~BI7J…

    2022年3月22日
    580
  • phpstorm2021.12.13激活【中文破解版】

    (phpstorm2021.12.13激活)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html4D5UJRVIF9-eyJsaWNlbnNlSWQi…

    2022年3月30日
    44
  • pycharm激活码2022年(JetBrains全家桶)

    (pycharm激活码2022年)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月30日
    262

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号