使用wsgen和maven从Java生成WSDL时使用方法参数名称?

Vin*_*nie 10 java maven-2 web-services wsgen

我正在使用@WebService注释并从Java类生成WSDL wsgen,由Maven构建目标触发.

我遇到的问题是生成的WSDL将Web服务操作的参数定义为arg0, ar1, arg2等,而不是使用代码中的参数名称.这些名称对于试图找出需要传递的内容的服务的客户端没有帮助.

有没有办法告诉wsgen抓取并使用方法中的参数名称 - 通过在方法上放置注释或发送给wsgen的参数?

谢谢!

Pas*_*ent 15

使用@WebParam注释.

@WebMethod
public void thisMethodHasAWebParam(@WebParam(name="param1") String arg1) {
}
Run Code Online (Sandbox Code Playgroud)

  • 这样可行.但这不是多余的吗?我知道字节代码中的方法签名不保留参数名称,但是工具也不能查看源代码吗? (3认同)