axis2客户端调用异常

pangzi330 2009-06-19 11:23:04
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中如何做,请各位帮帮忙
...全文
563 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhsxsh 2009-06-26
  • 打赏
  • 举报
回复
是不是少了参数?
cheney_life 2009-06-21
  • 打赏
  • 举报
回复
客户端的代码应该没什么问题。我感觉可能是lz的services.xml的配置有问题,
看看你的<messageReceiver>标签

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧