搭建WebService简易框架示例
举一个Calculator计算器的示例: 1.右击新建一个Web Service Project项目,命名为WebServiceProjectServer,随便命名; 2.选中项目右击,选择Build Path->configure Build Path->弹出的对话框中选择Libraries选项卡->点击右边add Library->选择Myeclipse Libraries,点击next 选中JAX-WS Runtime Libraries和JAX-WS API Libraries,然后点击finish->点击OK,这就为我们的Web Service 项目条件了Web Service支持; 3.在src下面新建一个包"com.gongsi.service",然后在下面建一个类Calculator代码如下: package com.jbit.service; /** ?* 提供服务的类 ?*/ public class Calculator { ? ?//加法 ?public int add( int num1,int num2){ ??return num1+num2; ?} ?//减法 ?public int sub( int num1,int num2){ ??return num1-num2; ?} ?//除法 ?public double div( int num1,int num2){ ??return num1/(double)num2; ?} ?//乘法 ?public int mult( int num1,int num2){ ??return num1*num2; ?} }
->查找选择你的类Calculator点击OK,点击finish;这就建好了一个Web Service 服务器端; 5.接下来就把你的Web Service项目部署到Tomcat上,并启动它,这时在Web.xml中会有相应的Servlet配置生成,有相应的Servlet的<url-pattern>生成里面是CalculatorPort记住它,访问http://localhost:8080/WebServiceProjectServer/CalculatorPort地址,然后出现一个表格,复制下Information下面的WSDL的值,http://localhost:8080/WebServiceProjectServer/CalculatorPort?wsdl,因为下面会用到; 6.以上是建立一个WebService 服务器端,接下来我们再建立客户端连接它,注意这时候我们不要关闭tomcat服务,否则连接不上; 7.右击新建一个JavaProject,命名为WebServiceProjectClient,随便命名; 添加WebService支持,操作步骤与步骤2相同; 8.添加完支持后,在src下面新建一个包,"com.gongsi.client"; 9.右击项目,选择new->others->新建Web Service Client 点击Next,然后继续点击Next,把上面复制的http://localhost:8080/WebServiceProjectServer/CalculatorPort?wsdl复制到 WSDL URL上,在Java Package里点击Browse,选择你要生成相应的文件到指定的包下面,这里我们选择“com.gongsi.client”,然后点击OK,点击Next,这时候,该客户端项目就会连接WebServiceProjectServer 这个项目了,点击finish,就生成相关的服务器端项目Calculator的代理类了; 10.这时候我们新建一个测试包类,包名为"com.gongsi.test",并且在包下建一个测试类Test,代码如下: ? ? package com.gongsi.test; import com.gongsi.client.CalculatorDelegate; public class Test { 就可以操作我们服务端项目WebServiceProjectServer项目的相关代码了,因为我们已经在"com.gongsi.client"生成了相关的代理类等相关类文件了,其中的CalculatorService和 CalculatorDelegate就是我们的包下面的类; ? 注意的是:http://localhost:8080/WebServiceProjectServer/CalculatorPort?wsdl的"localhost"可以换成其他电脑或服务器的IP地址,这样就实现了可以在不同电脑上利用服务器端的类做调用了,但是如果服务器端的代码做改动,要重新部署下服务器端的项目,才能利用新改动的项目代码; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |