phoenix850121
2017-07-13 09:06
采纳率: 56.8%
浏览 1.0k
已采纳

webservice相关axis实现方式客户端参数(java)

1.客户端调用服务端执行到 (String) call.invoke(obj);时报错:The given SOAPAction “命名空间/方法名” does not match an operation.
客户端代码如下:
String interfaceName = "aaa";
Service service = new Service();
Call call;
call = (Call) service.createCall();
String url="http://localhost:8080/Service";
call.setTargetEndpointAddress(new java.net.URL(url));
String qName="http:/temp.org/";
call.setOperationName(new QName(qName, interfaceName));
String xmlPara="arg0";
call.addParameter(new QName("", xmlPara), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.setUseSOAPAction(true);
call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_STRING);
call.setSOAPActionURI(qName + interfaceName);
Object obj[] = new Object[] { "" };
String serviceReturnXml = (String) call.invoke(obj);
System.out.println(serviceReturnXml);
我把下面两行去掉就好用,请问是什么原因?
call.setUseSOAPAction(true);
call.setSOAPActionURI(qName + interfaceName);

2.下面两个参数

call.setOperationStyle(org.apache.axis.constants.Style.RPC);
call.setOperationUse(org.apache.axis.constants.Use.ENCODED);

这两个参数是什么意思?

谢谢各位老师帮忙解答。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • zqbnqsdsmd 2018-08-02 16:06
    已采纳
    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题