jax-ws handler client端例子

来源:互联网 发布:网络拓扑图纸质版 编辑:程序博客网 时间:2024/06/07 04:00

接着上一篇文章,这里举一个client端handler的例子。

先把webservice服务端的代码整个贴一下

webservice:

handler:

这里用j2se来发布webservice,主函数为:

运行主函数,可以发布webservice,wsdl地址为:http://localhost:8000/HelloWS3/HelloWSService?wsdl

 

生成客户端代码

用wsimport命令生成客户端代码

命令为:。。。/workspace/helloWS3Client/bin>wsimport -keep  http://localhost:8000/HelloWS3/HelloWSService?wsdl -p com.ws.client

其中keep表示保存源文件,-p表示代码保存到指定包下。

然后在com.ws.client下新建一个客户端主函数,其中在客户端的webservice代理对象中插入handler,为了方便使用上面的同一个handler类,client端代码如下:

代码的作用是在bindingprovider对象的handlerchain中添加一个handler。

 

保持之前的服务端webservice运行着,然后运行这个客户端,可以在两个进程的控制台中同时打印被调用的webservice名字。

server:

2011-5-4 18:12:08 com.sun.xml.internal.ws.model.RuntimeModeler getRequestWrapperClass
信息: Dynamically creating request wrapper Class com.ws.service.jaxws.SayHello
2011-5-4 18:12:08 com.sun.xml.internal.ws.model.RuntimeModeler getResponseWrapperClass
信息: Dynamically creating response wrapper bean Class com.ws.service.jaxws.SayHelloResponse
{http://service.ws.com/}HelloWSService
{http://service.ws.com/}HelloWSService

client:

{http://service.ws.com/}HelloWSService
{http://service.ws.com/}HelloWSService
Hello xxxxxxx.s