在JAX-WS中重命名参数名称

use*_*944 8 java xml soap web-services jax-ws

我使用自下而上的方法在RSA 7.5和Websphere 7中使用JAX-WS创建了一个Web服务.当我在SOAP UI中打开WSDL时,参数部分显示如下:

<!--Optional-->
<arg0>
    <empID>?</empId>
</arg0>
<!--Optional-->
<arg1>
    <empName>?</empName>
</arg1>
<!--Optional-->
<arg2>
    <empAddress>?</empAddress>
</arg2>
<!--Optional-->
<arg3>
    <empCountry>?</empCountry>
</arg3>
Run Code Online (Sandbox Code Playgroud)

service方法将上述4个元素作为参数来返回员工详细信息.

1)我想用一些有效的名称重命名这个arg0,arg1等.

2)我想删除<!--optional-->arg标签上方的礼物.(为了删除<!--optional-->from元素名称,我使用了@XMLElement(required = true)).但我不确定在这种情况下在哪里使用此注释:(

请帮忙.

问候,

Log*_*gan 12

您将@XMLElement(required=true)以上变量放在您的类中,从您的服务返回.我刚刚在一个月前了解了这个选项.所以在你声明empName的位置上面放置标签和必需的.

要重命名服务的参数,请使用@WebParam(name="<name you want in soap>")每个输入变量的前面的服务.

例如,如果您有一个名为的服务方法,get(String name)它看起来就像get(@WebParam(name = "name") String name)


你是对的,现在我再次阅读你的评论.我支持的服务在输入和输出中使用Object,这就是我将XMLElement标记放在这些对象的类中的原因.

您需要将标记放在声明传入或返回给服务的变量的类中.如果恰好在您的服务类中声明了那些没问题.重点是你将XMLElement标记置于变量声明之上,而不是将它放在getter或setter上.

本教程显示了一些使用示例.JAXB教程