利用jax-ws发布WebService

来源:互联网 发布:amd处理器优化 编辑:程序博客网 时间:2024/06/11 01:56

上周项目中要实现一个对外提供服务接口的功能。真的是累心,不过最终也是完成了。现在分享一下。就是利用JAX-WS来发布WebService.具体步骤如下:
1.编写接口类。使用@WebService注解标注接口,使用@WebMethod注解标注接口中定义的所有方法。jax-ws发布webservice可以实现List类型和Map类型的,而axis对于List类型的返回值确无能为力。

2.编写接口实现类。直接看截图吧。注意需要在实现类上面添加注解标注endpointInterface
这里写图片描述
3.发布WebService。可以采用监听器在项目运行时发布,也可以基于web服务器Servlet方式。我使用的是servlet方式。介绍一下步骤,首先注册servlet和一个监听器。
这里写图片描述
然后添加一个sun-jaxws.xml到项目中的WEB-INF下面。在sun-jaxws.xml发布webservice.
这里写图片描述
然后添加上jax-ws发布WebService相应的jar依赖。
这里写图片描述
这样就可以了,然后运行项目。在浏览器地址栏输入:
http://localhost:8090/wttech-ump/wsservice/QueryUserservice?wsdl这个地址的是你的本机是你项目发布的地址,然后加上sun-jaxws.xml的url-pattern的地址就可以了。
看到这样的信息就说明你的webservice发布成功啦。
这里写图片描述
webservice发布成功了,我们就可以来生成客户端代码了。
利用jdk自带的wsimport.exe来生成客户端代码。
1.打开windows命令行窗口,首先进入jdk安装的bin目录下。然后使用命令生成客户端代码:wsimport.exe -p com.wttech.ump.webservice -d f:\ -keep http://localhost:8090/wttech-ump/wsservice/QueryUserservice?wsdl 命令中-p 后面是客户端代码的包名,-d后面是代码生成存放的路径。-keep是生成客户端代码,并且保留编译后代码。如图:
这里写图片描述
现在就可以找到生成的客户端代码,放到需要的项目中,或者集成到jar中都可以。
这里写图片描述
最后你就可以使用下面代码在项目中调用对外提供的接口了。
这里写图片描述
到此jax-ws发布Webservice就完成了,千万记得调用接口使用时,一定要把发布的webservice运行起来哟。
此篇文章属于原创。
参考连接:
http://www.cnblogs.com/Johness/archive/2013/04/19/3030392.html
http://www.cnblogs.com/xdp-gacl/p/4259481.html
http://blog.csdn.net/tianma630/article/details/8231224

1 0