9

我使用自下而上的方法在 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>

service 方法以上述 4 个元素为参数,返回员工详细信息。

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

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

请帮忙。

问候,

4

1 回答 1

13

您将@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 教程

于 2012-09-16T03:33:57.160 回答