I am getting confused with the usage of annotations and preference that has if we use them on interface or service implementation bean.
For instance I found that SOAPBinding annotation if used to indicate that Style is RPC on interface and deployed on liberty app server generates a wsdl that has no effect of the RPC annotation, but if we use the annotation on class that wsdl generated is correct. So, to explain more clearly:
If I use below annotation on interface:
Code: Select all
@SOAPBinding(style = SOAPBinding.Style.RPC, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
Code: Select all
<definitions .. >
<types>
<xsd:schema>
<xsd:import namespace="com.masood" schemaLocation="http://localhost:9080/webservices/hello?xsd=1"/>
</xsd:schema>
</types>
....
<binding ..>
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
.....
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
..
</definitions>
So the question is:
1. if my observation i.e. annotation if marked on interface doesnt effect the wsdl is correct than why does this link states we can mark soapbinding on interface or class: https://jax-ws.java.net/nonav/2.2/docs/ ... ng|outline
2. Can you please highlight the other jax-ws annotation that has effect only if they are marked on SIB and has no effect if they are marked on interface. is there a clear document which states this?
Thank you.
Mujahed