和Java狼狈为奸 2017-01-16 06:22 采纳率: 50%
浏览 2377
已采纳

webService接口调用失败

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

 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条回答 默认 最新

  • 和Java狼狈为奸 2017-01-22 06:50
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?