客户端axis调用cxf服务端webservice接口问题

客户端axis调用cxf服务端webservice接口问题
1,axis1调用cxf服务端webservice接口,客户端调用代码如下:
param是入参,authMethodName是webservice接口定义的方法名
public static String callRemoteWebService(Object[] param, String authMethodName)
throws SystemException,RemoteException {
String result = "";
try {
Service service = new Service();
Call call = (Call) service.createCall();
URL url = new URL("http://localhost:8090/Venus4A_SYNC/webservice/userservice");
call.setTargetEndpointAddress(url);
call.setOperationName(new QName("http://service.master.webservice.venustech.com.cn",authMethodName));
//call.setOperationName(authMethodName);
call.addParameter("requestData", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);// 操作的参数  
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);// 设置返回类型  
call.setUseSOAPAction(true); 
result = (String) call.invoke(param);
} catch (MalformedURLException e1) {
e1.printStackTrace();
} catch (ServiceException e1) {
e1.printStackTrace();
}
return result;
}
需要注意的是,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.
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>
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值