web Service简单入学

来源:互联网 发布:win10 ubuntu easybcd 编辑:程序博客网 时间:2024/05/22 03:11

本文为大家介绍两种方式:
web service服务端:第一种是建一个独立的web service服务端。第二种是在web项目里创建web service。
客户端:第一种是cmd指令,第二种是myeclipse生成。

一、创建服务端

1、独立的web service服务端

(1)、创建【Web Service Project】,命名为【TheService】。

(2)、创建【Class】类,命名为【Function】,位于【webservice】包下。

(3)、编写供客户端调用的方法,即编译方法代码。

这里写图片描述

package webservice;import javax.jws.WebService;import javax.xml.ws.Endpoint;@WebServicepublic class Function {    public static void main(String[] args) {         // 使用Endpoint(终端)类发布webservice         Endpoint.publish("http://localhost:8080/service/Function", new Function());         System.out.println("Publish Success");    }    public String transWords(String words){        String res = "";        for(char ch : words.toCharArray()){            res += ch+",";        }        return res;    }    public String trans(String words){        return words;    }}

(4)、进行编译

说明:编译失败的话,请将该项目引用的jdk设置为1.6.0_17版本或更高版本。
这里写图片描述

这里写图片描述

(5)、测试结果

测试地址:http://localhost:8080/service/Function?wsdl
这里写图片描述

2、web项目里创建web service。

(1)、创建【Web Project】,命名为【webservice】。

(2)、创建【Class】类,命名为【com.service】,位于【com.service】包下

这里写图片描述

(3)、点击项目名称右键新建 选择other

这里写图片描述

这里写图片描述

这里写图片描述

点击finsh,对应的文件多出一个文件;
这里写图片描述

(4)、点击项目名称右键 propertise

这里写图片描述

(5)、加入Tomcat服务器进行运行

(6)、测试结果

测试地址:http://localhost:8080/webservice/UserServicePort?wsdl
(ip地址+端口号+项目名+该文件名Port?wsdl)

这里写图片描述

二、生成客户端

1、 创建【Web Service Project】,命名为【webServiceClient】。

2、生成文件。(a、cmd指令生成;b、myeclipse自动生成)

(1)、cmd指令生成:

格式:wsimport -s “src目录” -p “生成类所在包名” -keep “wsdl发布地址”
示例:wsimport -s D:\ecpliseworkspace\webServiceClient\src -p com.xin.webservice -keep http://localhost:8080/service/Function?wsdl
说明:
1)”src目录”地址不可含空格
2)“wsdl发布地址”不要漏了“?wsdl”
这里写图片描述
刷新项目,检查生成类。
这里写图片描述

(2)、myeclipse自动生成:

右键webServiceClient 这次选择 web service client
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

三、最终测试

(1)、创建【Class】类,命名为【Test】,位于【test】包下

a、服务端第一种测试类

这里写图片描述

package test;import com.hyan.client.Function;import com.hyan.client.FunctionService;public class Test {    public static void main(String[] args) {        Function function=new FunctionService().getFunctionPort();        String name1=function.transWords("南京");        System.out.println(name1);        String name2=function.trans("南京");        System.out.println(name2);    }}

a、服务端第二种测试类

这里写图片描述

package test;import com.webtoservice.UserServiceDelegate;import com.webtoservice.UserServiceService;public class Test {    public static void main(String[] args) {        UserServiceDelegate userService=new UserServiceService().getUserServicePort();        String ss=userService.getVlues("上海");        System.out.println(ss);    }}

(2)、运行Test类:

这里写图片描述

ps:

当web service 接口出现改动 或者增加删除时需要重新编译,独立的web service项目需要走(4),web项目里添加的需要(3)。

原创粉丝点击