重命名在JAX-WS参数名(Renaming the argument name in JAX-WS

2019-07-31 14:50发布

我创建了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>

服务方法是鉴于上述4个元件作为参数,返回员工详细信息。

1)我想用一些有效的名称重命名此为arg0,ARG1,等等。

2)I要删除的<!--optional-->本以上ARG标签。 (为了除去<!--optional-->从元素名称,我用@XmlElement(所需=真))。 但我不知道哪儿来在这种情况下使用此批注:(

请帮忙。

问候,

Answer 1:

你把@XMLElement(required=true)正在从你的服务返回在你的类中的变量以上。 我刚刚得知大约一个月前该选项。 所以,正确的地方上面声明empName把标签和必需的。

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

例如,如果你有一个服务方法被称为get(String name)它会看起来像get(@WebParam(name = "name") String name)


你是正确的,现在,我再次看了你的评论。 这些服务我支持输入和输出,这就是为什么我把的XMLElement标签类中的这些对象的使用对象。

你需要把标签中声明的变量在传递或返回到服务类。 如果这些发生在你的服务类中声明这是罚款。 主要的一点是,你把标签的XMLElement变量声明之上,与把它放在一个getter和setter方法。

本教程介绍了使用的一些例子。 JAXB教程



文章来源: Renaming the argument name in JAX-WS