> They are almost the same except each have its own target namespace, and the names of input message are different: one is "hello" and another "helloRequest". The
There is one more difference, the element name of input message part is
not the operation name in file2.wsdl
for e.g:
"<xs:element name="helloRequest" type="hr:helloRequest" />"
According to JAX-WS spec, 2.3.1.2 section
"A WSDL operation qualifies for wrapper style mapping only if the
following criteria are met:
...
(ii) The input message part refers to a global element declaration
whose localname is equal to the opera-
tion name
"
fiel1.wsdl is qualifying for wrapper style where as file2.wsdl is not.
If the elment name is changed to "hello" in file2.wsdl, it qualifies for
wrapper style. Then you would get
public String hello(String arg0);
You can also disable the wrapper style for file1.wsdl to get the exact
signatures. There is a standard customization to do this.
See
https://jax-ws.dev.java.net/2.1.7/docs/customizations.html
Then you would get
public HelloResponse hello(HelloRequest parameters);
Jitu