You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by David Houlding <Da...@trcinc.com> on 2004/01/28 22:28:51 UTC

getting Axis to show header info in WSDL

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>