cxf使用 wsdl2java

1、需要 一个包:apache-cxf-2.6.1.gz

这个包里有好多jar包,一定要下载下来。

将此包解压,我是放在:E:\CXF\apache-cxf-2.6.1


cxf使用 wsdl2java_第1张图片
2、将URL调用成功的页面内容,另存为XML

cxf使用 wsdl2java_第2张图片
3、在cmd中通过wsdl2java生成客户端文件
cxf使用 wsdl2java_第3张图片
cd 进入apache-cxd-2.6.1\bin目录
执行命名:
wsdl2java -p service.webservice.client.demo -d F:\MyDocuments\Java\ws\InterfaceControlApp\src -verbose "F:\demoForWebSerivce.xml"
解析
wsdl2java -p 包名 -d 生成文件路径 -verbose "wsdl文件路径"
然后再拷贝到项目里
包名:文件存放的包名,可以写项目中包路径
生成文件路径 :文件存放路径,可以直接写项目路径
wsdl文件:在IE中执行服务端URL显示的XML另存为XML文件。
我是直接到项目路径了,生成前:
cxf使用 wsdl2java_第4张图片
生成后:
cxf使用 wsdl2java_第5张图片
报错处理:
cxf使用 wsdl2java_第6张图片
4、写MAIN调用
package common;
import javax.xml.ws.Service;
import service.webservice.client.demo.DemoForWebService;
import service.webservice.client.demo.DemoForWebServiceImplService;
import service.webservice.client.demo.User;
/**
* @author 作者 E-mail:
* @version 创建时间:2013-3-20 下午03:39:29
* 类说明
*/
public class TestWSClientByZBY {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Service service = Service.create(DemoForWebServiceImplService.SERVICE);

String endpointAddress = " http://127.0.0.1:8080/InterfaceControlApp/webservice/demoForWebService?wsdl ";
service.addPort(DemoForWebServiceImplService.HTTPPort, javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING, endpointAddress);
//DMSSender dms = service.getPort(DMSSender.class);
DemoForWebService dms = service.getPort(DemoForWebServiceImplService.HTTPPort,DemoForWebService.class);
User user;
try {
user = dms.getUserById("admin");
System.out.println(user.getXtczdm());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
cxf使用 wsdl2java_第7张图片
在服务端的实现类中@WebService(endpointInterface = "service.webservice.DemoForWebService",targetNamespace=" http://webservice.service/",portName="HTTP_Port ")
成功后:
cxf使用 wsdl2java_第8张图片
调用完成。

你可能感兴趣的:(java)