cxf使用 wsdl2java

来源:互联网 发布:中国的国际形势 知乎 编辑:程序博客网 时间:2024/05/22 17:17

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

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

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

   


java cxf webservice 生成客户端 调用 服务端 - 比目鱼 - 比目鱼的博客
2、将URL调用成功的页面内容,另存为XML
     
java cxf webservice 生成客户端 调用 服务端 - 比目鱼 - 比目鱼的博客
 3、在cmd中通过wsdl2java生成客户端文件
java cxf webservice 生成客户端 调用 服务端 - 比目鱼 - 比目鱼的博客
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文件。
 我是直接到项目路径了,生成前:
java cxf webservice 生成客户端 调用 服务端 - 比目鱼 - 比目鱼的博客
 生成后:
java cxf webservice 生成客户端 调用 服务端 - 比目鱼 - 比目鱼的博客
 报错处理:
java cxf webservice 生成客户端 调用 服务端 - 比目鱼 - 比目鱼的博客
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();
  }
 }
}
java cxf webservice 生成客户端 调用 服务端 - 比目鱼 - 比目鱼的博客
在服务端的实现类中@WebService(endpointInterface = "service.webservice.DemoForWebService",targetNamespace="http://webservice.service/",portName="HTTP_Port")
成功后:
java cxf webservice 生成客户端 调用 服务端 - 比目鱼 - 比目鱼的博客
调用完成。
原创粉丝点击