我使用命令行创建了简单的2轴Web服务。
代码
public class HelloAxis{
public String sayHello(String name){
return "Hello " + name;
}
}
的services.xml
<service name="HelloAxis"><description> Hello Axis2 web service </description>
<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>
<parameter name="ServiceClass">HelloAxis</parameter>
</service>
我使用jar -cvf HelloAxis.aar *
然后将其部署在Axis2服务器中。
当我通过浏览器检查wsdl时,参数名称是 args0 。
<xs:element name="sayHello">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="args0" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
为什么?它应该使用名称名称
但是当我使用eclipse插件生成aar文件时,它使用正确的名称。
答案 0 :(得分:2)
要重命名服务的参数,请在每个输入变量前面使用@WebParam(name =&#34;&#34;)。
因此,只需替换方法签名
即可(字符串名称)
使用:
(@ WebParam(name =&#34; name&#34;)String name)