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

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

  ?    ?    ?    ?  

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

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

2)我想删除arg标签上方的 。 (为了从元素名称中删除 ,我使用了@XMLElement(required = true))。 但我不确定在这种情况下在哪里使用此注释:(

请帮忙。

问候,

您将@XMLElement(required=true)放在您的类中从您的服务返回的变量之上。 我刚刚在一个月前了解了这个选项。 因此,在您声明empName的位置上方放置标记和必需。

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

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


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

您需要将标记放在声明传入或返回给服务的变量的类中。 如果碰巧在你的服务类中宣布这些是好的。 重点是你将XMLElement标记置于变量声明之上,而不是将它放在getter或setter上。

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