我正在开发一个网络应用程序与嵌入式网络服务与Axis2使用Maven。服务实现是一个具有RPC式交互的POJO,目标应用程序服务器是运行Axis2 servlet的Tomcat。
"Hello world“可以工作,但是现在我需要在axis2.xml文件(放在WEB-INF/conf下)中配置一些全局axis2设置。
对于这个通用环境,请提供或指向axis2.xml的简单配置。从二进制发行版获取的默认值激活了太多的特性(hotdeploy?)也会导致这个问题:
<soapenv:Reason>
<soapenv:Text xml:lang="en-US">
The ServiceClass object does not implement the required method
in the following form: OMElement ping(OMElement e)
</soapenv:Text>
</soapenv:Reason>作为参考:http://axis.apache.org/axis2/java/core/docs/servlet-transport.html说以这种方式配置servlet传输,但它没有解决这个问题。
<transportReceiver name="http" class="org.apache.axis2.transport.http.AxisServletListener"/>发布于 2013-05-22 22:42:19
显然,问题在于默认的axis2.xml设置原始的xml,而不是messageReceivers。
尝试将它添加到开发的服务的services.xml中,应该可以解决这个问题。
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</messageReceivers>发布于 2016-02-04 01:21:02
“对我有效的解决方案是在service.xml中针对Java Service方法名添加操作标记:
<operation name="sayHello" >
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
<parameter name="ServiceClass" locked="false">com.learning.webservices.pojo.HelloService</parameter>https://stackoverflow.com/questions/16692896
复制相似问题