Does anyone know how to add header info to the WSDL dynamically generated from an Axis web service (by throwing the web service a ?wsdl url)?

 

I have a .NET client that generates stubs from the WSDL and it understands headers only if they are specified in the WSDL. I have successfully added the required header information manually after editing the WSDL from Axis … and then successfully generated the .NET stubs, but would like to avoid having to do this by having Axis include it in the WSDL automatically / dynamically generated … perhaps through specification of header information in the deployment descriptor for the web service or something like that?

 

Any help greatly appreciated!

 

The following details show the sections of the WSDL that were updated manually with the required header information. I would like to have this automatically added by Axis through deployment descriptor or other support so I don’t have to edit the WSDL.

 

The header type:

 

                    <complexType name="Session">

                           <sequence>

                                 <element name="ID" nillable="false" type="xsd:string"/>

                           </sequence>

                    </complexType>

 

The message:

 

       <wsdl:message name="sendMessageRequest">

             <wsdl:part name="in0" type="xsd:string"/>

             <wsdl:part name="secureSession" type="tns1:Session"/>

       </wsdl:message>

 

The request:

 

             <wsdl:operation name="sendMessage">

                    <wsdlsoap:operation soapAction=""/>

                    <wsdl:input name="sendMessageRequest">

                           <wsdlsoap:header message="impl:sendMessageRequest" part="secureSession" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.example.my.url.com" use="encoded"/>

                           <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.example.my.url.com" use="encoded"/>

                    </wsdl:input>

                    <wsdl:output name="sendMessageResponse">

                           <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.example.my.url.com" use="encoded"/>

                    </wsdl:output>

             </wsdl:operation>

 

Reply via email to