I would like to add a header to several of my services to require some simple authorization (using CVS tree of Axis 1.2RC2).
An example of one of the service's wsdl binding is a follows:
<wsdl:binding name="AccessControlSoapBinding" type="impl:AccessControl">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="setACL">
<wsdlsoap:operation soapAction="urn:my:com:wsdl/setACL" style="document"/>
<wsdl:input name="setACLInput" >
<wsdlsoap:header message="impl:authorize" part="auth" use="literal" />
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="setACLOutput">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
When using wsdl2java to generate the server and/or client stubs the deploy.wsdd has the correct type mapping for the authorization message and the __BindingStub.java has the serialization/deserialization methods, but the PROBLEM is that there is no header listed when the wsdl is queried on the deployed service (e.g. http://my.com/context/services/myservice?wsdl ). Thus, there is no way for the client (consumer of service) to know that they need to create and pass a header. That is, the wsdl returned shows the binding listed above, sans the header on the <input>.
I must be missing something obvious!
Thanks,
Tom Gordon