org.apache.axis2.databinding.ADBException: Unexpected subelement arg0 的解决方法
来源:互联网 发布:禁毒网络知识登录竞赛 编辑:程序博客网 时间:2024/06/05 16:34
axis调用webservice如果报错信息为: org.apache.axis2.databinding.ADBException: Unexpected subelement arg0 ,只需加入call.setOperation(_operations[1]);问题就解决了。
package com.zte.eas.ws.pop;import java.net.URL;import javax.xml.namespace.QName;import javax.xml.rpc.ParameterMode;import javax.xml.rpc.ServiceException;import org.apache.axis.client.Call;import org.apache.axis.client.Service;import org.apache.axis.encoding.XMLType;public class Test2 { static org.apache.axis.description.OperationDesc [] _operations; static { _operations = new org.apache.axis.description.OperationDesc[2]; _initOperationDesc1(); } private static void _initOperationDesc1(){ org.apache.axis.description.OperationDesc oper; org.apache.axis.description.ParameterDesc param; oper = new org.apache.axis.description.OperationDesc(); oper.setName("另外一个无关的调用方法"); param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://xxx.com", "args0"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false); param.setOmittable(true); param.setNillable(true); oper.addParameter(param); oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); oper.setReturnClass(java.lang.String.class); oper.setReturnQName(new javax.xml.namespace.QName("http://xxxx.com", "return")); oper.setStyle(org.apache.axis.constants.Style.WRAPPED); oper.setUse(org.apache.axis.constants.Use.LITERAL); _operations[0] = oper; oper = new org.apache.axis.description.OperationDesc(); oper.setName("你的调用方法"); param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://xxx.xx.xxx.xxx.com", "args0"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false); param.setOmittable(true); param.setNillable(true); oper.addParameter(param); oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); oper.setReturnClass(java.lang.String.class); oper.setReturnQName(new javax.xml.namespace.QName("http://xxx.com", "return")); oper.setStyle(org.apache.axis.constants.Style.WRAPPED); oper.setUse(org.apache.axis.constants.Use.LITERAL); _operations[1] = oper; }public static void main(String[] args) throws Exception {String endpoint = "http://111.111.111.111/ttt/sss?wsdl";String namespace = "http://xxx.com"; // namespaceService service = new Service();Call call = (Call) service.createCall();call.setTargetEndpointAddress(new URL(endpoint));call.setOperationName(new QName(namespace, "你的调用方法名称")); // 要调用接口方法吗//call.setOperation(_operations[1]);// call.addParameter("arg0", XMLType.XSD_STRING, ParameterMode.IN);// //arg0单表 传入参数// call.setReturnClass(String.class);String s = "{" + " \"xxx\":\"MGJ\", "+ " \"fff\":\"test\","+ " \"ddd\":\"test\","+ "\"sss\":\"test\","+ " \"aaa\":\"test\"" + "}";String res = (String) call.invoke(new Object[] { s }); // 调用返回参数System.out.println(res);// JSONArray jsonArray = new JSONArray(res); //解析json// int iSize = jsonArray.length();// for (int i = 0; i < iSize; i++) {// JSONObject jsonObj = jsonArray.getJSONObject(i);// System.out.println("[" + i + "]name=" + jsonObj.get("name"));// System.out.println("[" + i + "]id=" + jsonObj.get("id"));//// //json包含了一个对象,获取对象下的属性// JSONObject myjObject2 = jsonObj.getJSONObject("persion");// System.out.println("["+i+"]persion id"+myjObject2.getString("id")+"\n");// System.out.println("["+i+"]persion username"+myjObject2.getString("username"));// System.out.println("["+i+"]persion age"+myjObject2.getString("age"));// }}}
阅读全文
0 0
- org.apache.axis2.databinding.ADBException: Unexpected subelement arg0 的解决方法
- org.apache.axis2.databinding.ADBException: Unexpected subelement arg0的一种解决办法
- axis2问题解决方法:org.apache.axis2.databending.ADBException:Unexpedted subelement return
- axis2问题解决方法:org.apache.axis2.databending.ADBException:Unexpedted subelement return
- 解决axis2 wsdl与请求soap报文中字段顺序不一致的问题:Unexpected subelement XXXX
- Axis Plugin: java.lang.NoClassDefFoundError: org/apache/axis2/databinding/ADBBean
- eclipse中出现如下错误: org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter
- org.apache.hadoop.conf.Configuration.getFloat(String arg0, float arg1)
- Error: org.apache.axis2.AxisFault at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) at 的原因
- 解决方法参数为arg0,arg1的问题
- org.apache.cxf.binding.soap.SoapFault: Unexpected wrapper element 出现命名空间不一致问题,解决方法
- 关于使用Axis2 webservice 处理Fault响应时抛org.apache.axis2.AxisFault的分析
- 程序包org.apache.http不存在的解决方法
- org.apache.axis2.deployment.DeploymentException: org/apache/commons/httpclient/HttpException
- 解决org.apache.axis2.AxisFault: unknown 错误
- [Axis2]org.apache.axiom.om.NodeUnavailableException
- ClassNotFoundException: org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver
- org.apache.axis2.AxisFault: For input string:(Axis2)
- randomwalking(10.2hu测)
- 设计模式的分类
- 关于对象初探
- 剑指Offer------用两个栈实现队列(用两个队列实现栈)
- 344. Reverse String(第四周)
- org.apache.axis2.databinding.ADBException: Unexpected subelement arg0 的解决方法
- JavaScript基础案例实现
- windows下图片标识工具labelimg的安装与使用
- SpringMVC统一异常处理
- 适配器(Adapter)模式
- 进程IPC---流式套接字
- java访问数据库
- 数据结构循环链表与双链表实验
- linux matlab2016b 安装