关闭

Idea实现WebService实例

标签: javawebservice
6248人阅读 评论(4) 收藏 举报
分类:

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

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


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

选择需要发布的服务


然后部署到TOMCAT,如图,这里需要注意的是需要引入这个库才能正常运行webservice

启动tomcat后,在浏览器中敲入如下代码:localhost:8080/services 回车测试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;

    }
}


实例地址:

源码下载地址



1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:63410次
    • 积分:991
    • 等级:
    • 排名:千里之外
    • 原创:34篇
    • 转载:16篇
    • 译文:0篇
    • 评论:16条
    公众号

    欢迎关注公众号


    文章分类
    最新评论