1)使用,直接AXIS调用远程的web service
2)直接SOAP调用远程的webservice
3)使用wsdl2java把WSDL文件转成本地类,然后像本地类一样使用,即可。
我一般使用第三种,挺简单的:
比如webservice的代码如下:
@WebService
public class ServiceHello {
/*
* 供客户端调用的方法
* @param name
* @return String
*/
public String getValue(String name){
return "我叫"+name
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Endpoint.publish("http://localhost:9001/Service/ServiceHello", new ServiceHello())
System.out.println("service success!")
}
}
1)先建立客户端webservice项目,使用命令将WSDL文件转成本地类,比如:
C:\Users\aiher\Workspaces\MyEclipse 2015\TheClient\src>wsimport -s . -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello?wsdl
2)编写客户端测试类,调用服务端web service接口的某个方法,如下:
public class ServiceTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
ServiceHello hello = new ServiceHelloService().getServiceHelloPort()
String name = hello.getValue("Hyan")
System.out.println("name-:"+name)
}
}
安装好axis,他自带一个java2wsdl,直接用他就可以了在命令通过java执行:
H:\axis-1_4\lib>java -cp g:/611 code/pm/src/shareaxis.jaraxis-ant.jarcommons-
discovery-0.2.jarcommons-logging-1.0.4.jarjaxrpc.jarlog4j-1.2.8.jarsaaj.jar
wsdl4j-1.5.1.jar org.apache.axis.wsdl.Java2WSDL -o p3e.wsdl -n "urn:P3EWebservi
ces" -p"p3e.webservice" "urn:P3EWebservices" p3e.webservice.P3EWebservices
-cp后边的包都要有,-o代表要转的wsdl,-p代表包
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)