Myc_CSDN
和Java狼狈为奸
采纳率61.5%
2017-01-16 06:22 阅读 2.2k
已采纳

webService接口调用失败

2

我是这样调用客户提供的接口的

 public List<Task> getOperationSystemData(Long userId) {
        String url = AppContext.getSystemProperty("anhui.webService.url");
        Object[] response = null;
        try{
            EndpointReference targetEPR = new EndpointReference(url);
            RPCServiceClient serviceClient = new RPCServiceClient();
            GetNewTasks parm = new GetNewTasks();
            parm.setUserID(String.valueOf(userId));
            Object[] opAddArgs = new Object[]{parm.getUserID()};
            Options options = serviceClient.getOptions();
            options.setTo(targetEPR);
            QName opAdd =new QName("http://www.ustcsoft.com","getNewTasks");
            Class[] returnTypes = new Class[] {Root.class};
            response = serviceClient.invokeBlocking(opAdd,opAddArgs,returnTypes);
        }catch(Exception e){
            log.info("获取业务系统待办异常", e);
        }

但一直报错:

 org.apache.axis2.AxisFault: Unmarshalling Error: unexpected element (uri:"", local:"arg0"). Expected elements are <{}UserID> 
    at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)

google后给的答案是在方法参数中加@webParam(name="",targetNamespace="http://www.ustcsoft.com"),这样做了,还是没用,求大神指点

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    Myc_CSDN 和Java狼狈为奸 2017-01-22 06:50

    最后用了HttpClient这种方式,获取到了一个dom4j 的Document格式的xml,再进行了解析

    点赞 评论 复制链接分享
  • Myc_CSDN 和Java狼狈为奸 2017-01-16 06:24

    报错是在serviceClient.invokeBlocking这里报的错

    点赞 评论 复制链接分享
  • yjzagan yjzagan 2017-01-16 07:50

    在**Webservice服务端**方法参数前面加上,@WebParam(name = "arg0", targetNamespace = "") 或 @WebParam(name = "arg0", targetNamespace = "http://www.ustcsoft.com") 这两种试试呢?

    点赞 评论 复制链接分享

相关推荐