gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:40:30 25 4
gpt4 key购买 nike

我使用自下而上的方法在 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) 我想删除 <!--optional-->出现在 arg 标签之上。 (为了从元素名称中删除 <!--optional-->,我使用了@XMLElement(required=true))。但是我不确定在这种情况下到底在哪里使用这个注释:(

请帮忙。

问候,

最佳答案

你把 @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 tutorial

关于java - 在 JAX-WS 中重命名参数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12444138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com