Use method parameters names when generating WSDL from Java using wsgen and maven?
Asked Answered
S

1

10

I'm generating a WSDL from a Java class using the @WebService annotation and running wsgen, triggered by a Maven build target.

The problem I have is the generated WSDL defines the parameters for the web service operations as arg0, ar1, arg2, etc instead of using the parameter names from the code. These names are not helpful to clients of the service attempting to figure out what needs to be passed in.

Is there a way to tell wsgen to grab and use the parameter names from the method - either by placing an annotation on the method or a parameter sent to wsgen?

Thanks!

Shon answered 26/1, 2010 at 16:26 Comment(0)
V
15

Use the @WebParam annotation.

@WebMethod
public void thisMethodHasAWebParam(@WebParam(name="param1") String arg1) {
}
Valdemar answered 26/1, 2010 at 16:38 Comment(3)
I knew there had to be an easy way to do this. Thanks so much!Shon
That works. But isn't this horribly redundant? I know that method signatures in byte code do not preserve the parameter names, but cannot the tool also look at the source code?Centrobaric
How it can look into source code, as it uses WSDL file URL when generating code. And WSDL file is generated at runtime.Parang

© 2022 - 2024 — McMap. All rights reserved.