org.apache.axis2.AxisFault: Exception during processing: javax.xml.soap.SOAPException: Found SOAPElement [<arg1 xmlns="">11111</arg1>]. But was not able to find a Part that is registered with this Message which corresponds to this SOAPElement. The name of the element should be one of these[string,string0] (see Fault Detail for stacktrace)
at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:308)
org.apache.axis2.AxisFault: Exception during processing: javax.xml.soap.SOAPException: Found SOAPElement [<arg1 xmlns="">11111</arg1>]. But was not able to find a Part that is registered with this Message which corresponds to this SOAPElement. The name of the element should be one of these[string,string0] (see Fault Detail for stacktrace)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:579)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:508)
at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:95)
at Remote.detectDSClient.detectDS(detectDSClient.java:36)
at Remote.detectDSAction.perform(detectDSAction.java:23)
at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1787)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1586)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
at java.lang.Thread.run(Thread.java:534)
Found SOAPElement [<arg1 xmlns="">11111</arg1>]. But was not able to find a Part that is registered with this Message which corresponds to this SOAPElement. The name of the element should be one of these[string,string0] (see Fault Detail for stacktrace)
客户端代码如下:
public String detectDS(String string,String string0) throws AxisFault,Exception {
String endPoint="http://"+host+":"+port+"/detected/DetectedDS";
String flag="0";
System.out.println(endPoint);
RPCServiceClient serviceClient=new RPCServiceClient();
Options options=serviceClient.getOptions();
EndpointReference targetEPR=new EndpointReference(endPoint);
options.setTo(targetEPR);
QName entry=new QName("http://detect.com","detectedDS");
Object[] object=new Object[]{new String("111111"),new String("11111")};
System.out.println(object[0]);
Class[] returnTypes=new Class[]{String.class};
Object[] response=serviceClient.invokeBlocking(entry,object,returnTypes);
flag=(String)response[0];
System.out.println(flag);
在axis1中有这个参数设置可以解决这个问题
call.addParameter("string",XMLType.XSD_STRING,ParameterMode.IN);
在axis2中如何做,请各位帮帮忙