在
Java6 WebServices (一)服务端这篇文章中和大家分享了Java6 WebServices 服务端的写法,光有服务端还不行,还要有客户端才行啊。看了一些网友的相关文章,都只给出了服务端的写法,没有说客户端怎么说。经过一番研究,终于搞定了客户端,今天偶就和大家分享下。
首先启动
Java6 WebServices (一)服务端一文中写好的服务端。
新建个项目。命令行到src目录执行,
wsimport -keep http://localhost:8080/HelloService?wsdl
会自动生成一些代码。
packageorg.hermit.study.jdk.client;
importjavax.jws.WebMethod;
importjavax.jws.WebParam;
importjavax.jws.WebResult;
importjavax.jws.WebService;
importjavax.jws.soap.SOAPBinding;
/**
*ThisclasswasgeneratedbytheJAXWSSI.
*JAX-WSRI2.0_02-b08-fcs
*Generatedsourceversion:2.0
*
*/
@WebService(name="Hello",targetNamespace="http://jdk.study.hermit.org/client")
@SOAPBinding(style=SOAPBinding.Style.RPC)
publicinterfaceHello{
/**
*
*@paramarg0
*@return
*returnsjava.lang.String
*/
@WebMethod
@WebResult(partName="return")
publicStringsayHello(
@WebParam(name="arg0",partName="arg0")
Stringarg0);
}
packageorg.hermit.study.jdk.client;
importjava.net.MalformedURLException;
importjava.net.URL;
importjavax.xml.namespace.QName;
importjavax.xml.ws.Service;
importjavax.xml.ws.WebEndpoint;
importjavax.xml.ws.WebServiceClient;
/**
*ThisclasswasgeneratedbytheJAXWSSI.
*JAX-WSRI2.0_02-b08-fcs
*Generatedsourceversion:2.0
*
*/
@WebServiceClient(name="HelloService",targetNamespace="http://jdk.study.hermit.org/client",wsdlLocation="http://localhost:8080/HelloService?wsdl")
publicclassHelloService
extendsService
{
privatefinalstaticURLHELLOSERVICE_WSDL_LOCATION;
static{
URLurl=null;
try{
url=newURL("http://localhost:8080/HelloService?wsdl");
}catch(MalformedURLExceptione){
e.printStackTrace();
}
HELLOSERVICE_WSDL_LOCATION=url;
}
publicHelloService(URLwsdlLocation,QNameserviceName){
super(wsdlLocation,serviceName);
}
publicHelloService(){
super(HELLOSERVICE_WSDL_LOCATION,newQName("http://jdk.study.hermit.org/client","HelloService"));
}
/**
*
*@return
*returnsHello
*/
@WebEndpoint(name="HelloPort")
publicHellogetHelloPort(){
return(Hello)super.getPort(newQName("http://jdk.study.hermit.org/client","HelloPort"),Hello.class);
}
}
下面我们再写个测试,看看能不能用:
packageorg.hermit.study.jdk.client.test;
importorg.hermit.study.jdk.client.Hello;
importorg.hermit.study.jdk.client.HelloService;
publicclassTestClient{
publicstaticvoidmain(String[]args){
HelloServiceservice=newHelloService();
Hello_hello=service.getHelloPort();
System.out.println(_hello.sayHello("hermit"));
}
}
执行。
控制台输出:
hello:hermit
ok!搞定。
java6搞定web service就这么简单。。。。。。。。。。。。。。。。。。。。。。。。。。
xfire危险了。。。。。。。。。。。。。。。。。。。。。。。。
分享到:
相关推荐
NULL 博文链接:https://zhuchengzzcc.iteye.com/blog/1535745
基于 .NET, Java and MS SOAP Toolkit进行Web Services 的客户端调用程序例子
Java Web Service的客户端实现
本文介绍了Java与.NET开发的Web Services相互调用的技术。本文包括两个部分,第一部分介绍了如何用.NET做客户端调用Java写的Web Services,第二部分介绍了如何用Java做客户端调用.NET开发的Web Services。
使用gSoap webservice C++客户端调用java 用axis写成的webservices服务端,实现简单功能(加发,乘法,随机数...),使用gsoap的同学可以查看
WebServices客户端调试工具 wsCaller可执行程序的发布方式为一个wsCaller.jar包,不包含Java运行环境。你可以把wsCaller.jar复制到任何安装了Java运行环境(要求安装JRE/JDK 1.3.1或更高版本)的计算机中,用以下...
java webservices例子,文件中包含服务端和客户端,测试通过。 环境:MyEclipse 8.6,jdk:1.6,Tomcat7.x,JBoss 5.x
webservices客户端开发-java[归纳].pdf
NULL 博文链接:https://rayoo.iteye.com/blog/1235505
如Amazon的简单存储服务与Atom发布协议等 ·探讨各种流行编程语言的Web services客户端 ·展示如何用三种流行框架实现RESTful services —— Ruby on Rails、Restlet(基于Java)和Django(基于Python) ·关注实际...
xfire简单实现webservice服务端创建与客户端,实现方法用的代理调用的,不需要服务端的接口。
(一)Java EE 5实现Web服务(Web Services)及多种客户端实例-原理.rar
(四)Java EE 5实现Web服务(Web Services)及多种客户端实例-胖客户端.rar
(三)Java EE 5实现Web服务(Web Services)及多种客户端实例-瘦客户端.rar
(五)Java EE 5实现Web服务(Web Services)及多种客户端实例-移动客户端.rar
单位刚好有这么一个项目需要于客户端中调用webServices,整理了下资料发上来希望对大家有用。 axis 1.4 一共是三种方式调用: 1传递参数String,得到String 2传递参数String,得到对象Users 3传递对象Users,得到...
(二)Java EE 5实现Web服务(Web Services)及多种客户端实例-实现Web服务.rar
wsCaller是使用Java语言编写的Web Service通用客户端和测试工具。 wsCaller可执行程序的发布方式为一个wsCaller.jar包,不包含Java运行环境。你可以把wsCaller.jar复制到任何安装了Java运行环境(要求安装JRE/JDK ...