在进行axis2开发的时候,一开始遇到很莫名其妙的问题,部署aar之后,发现生成的wsdl对于函数的参数值类型和返回值类型 全部都是anyType,一开始以为是由于axis2不支持这些类型,不过后来突然发现原因可能是在于services.xml的错误。
例如:
<service name="IntegrationLayer" provider="java:RPC">
<description> provides services</description>
<parameter name="ServiceClass" locked="false">Test</parameter>
<operation name="test">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
</service>
上面的provider 属性指明了使用RPC,则下面的messageReceiver 也是对应的RPCMessageReceiver。
之前我写成了<messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
从而导致wsdl生成有错误。希望能提供给大家一点启示。