axis调用cxf的webservice注意事项

需要注意的是:

 1.wsdl显示部分内容

<?xml version="1.0" ?>
- <wsdl:definitions name="ArchiveFileServiceImplService" targetNamespace="http://impl.ws.file.lantop.im.avicit/" xmlns:ns1="http://ws.file.lantop.im.avicit/" xmlns:ns2="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://impl.ws.file.lantop.im.avicit/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

1,cxf服务端定义webservice接口的时候,要在接口类上注解@WebService(targetNamespace="http://xxxx.xxxx.webservice.xxxxx.com.cn"); 命名空间必不可缺,否则抛异常如下:
org.apache.cxf.interceptor.Fault: Unexpected wrapper element {http://service.jx4a.services.ismp.sitech.com}addUser found.   Expected {http://service.master.webservice.venustech.com.cn}addUser.

  例如:

  @WebService(targetNamespace="http://impl.ws.file.lantop.im.avicit/")
  public interface ArchiveFileService {}


2,public String addUser(@WebParam(name="requestData") String requestXml); 定义的方法名,也要加上注解@WebParam,否则抛异常如下:
org.apache.cxf.interceptor.Fault: Unmarshalling Error: unexpected element (uri:"", local:"xxxxx"). Expected elements are <{}arg0>

  例如:

  @WebMethod(operationName = "uploadAttachment")
  @WebResult(name = "result")
  public int uploadAttachment(@WebParam(name = "fileId") String fileId, @WebParam(name = "buffer") byte[] buffer, @WebParam(name = "offset") int           offset,@WebParam(name = "dataId") String dataId);

 

posted @ 2017-12-20 14:43  鹏鹏程子  阅读(709)  评论(0编辑  收藏  举报