【问题标题】:Axis2 generated WSDL file parameter name differ from actual nameAxis2 生成的 WSDL 文件参数名称与实际名称不同
【发布时间】:2015-02-03 14:37:19
【问题描述】:

我已经使用命令行创建了简单的轴 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 * 创建了 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>

这是为什么呢?它应该使用名称作为 name

但是当我使用 eclipse 插件生成 aar 文件时,它使用了正确的名称。

【问题讨论】:

    标签: java web-services wsdl axis2


    【解决方案1】:

    要重命名服务的参数,请在服务的每个输入变量前使用 @WebParam(name="")。

    因此只需替换您的方法签名

    (字符串名称)

    与:

    (@WebParam(name = "name") 字符串名称)

    【讨论】:

      猜你喜欢
      • 2013-01-15
      • 2012-06-27
      • 1970-01-01
      • 1970-01-01
      • 2010-12-10
      • 2019-10-16
      • 2014-09-19
      • 1970-01-01
      相关资源
      最近更新 更多