hi Amila,

I'm using Axis2 1.4.1

Since with axis2.x this happens automatically, which APIs can I use to 
get the headers object in the Skeleton class?

for example:

My skeleton class likes:

public class MySkeleton {

    public mypackage.InformResponseDocument inform(mypackage.InformDocument 
inform) {
                //TODO : fill this with the necessary business logic

        // here, which API(s) can I use to get the headers info?

    }
     
}

  ----- Original Message ----- 
  From: Amila Suriarachchi 
  To: [email protected] 
  Sent: Thursday, February 19, 2009 12:47 PM
  Subject: Re: how to make classes for <soap:Header> by wsdl2java


  Are you using axis1.x? with axis2.x this happens automatically.

  thanks,
  Amila.


  On Wed, Feb 18, 2009 at 3:38 PM, Guo Tianchong <[email protected]> 
wrote:

    hi all,

    I am using wsdl2java command to create java class.
    Now, I can create classes for my <soap:Body>'s child elements.
    but, how to make classes for <soap:Header>'s child elements?

    My resquest/response soap message is the following:

    ----> request message
    <soap:Enveloper ...>
       <soap:Header>
         <mh:ID soap:mustUnderstand="1">1<mh:ID>
         <mh:MACAddress soap:mustUnderstand="1">01234567ABC<mh:ID>
       </soap:Header>
       <soap:Body>
         <mh:Inform>
           ... ...
         </mh:Inform>
       <soap:Body>
    </soap:Enveloper>

    ---->response message
    <soap:Enveloper ...>
       <soap:Header>
         <mh:ID soap:mustUnderstand="1">1<mh:ID>
         <mh:MACAddress soap:mustUnderstand="1">01234567ABC<mh:ID>
       </soap:Header>
       <soap:Body>
         <mh:InformResponse>
           ... ...
         </mh:InformResponse>
       <soap:Body>
    </soap:Enveloper>


    ************and my .wsdl file is:
    <definitions>
    ....
    <types>
     <xsd:schema targetNamespace="...">
       <xs:element name="Inform">
         <xs:complexType>
           <xs:sequence>
             ....
           </xs:sequence>
         </xs:complexType>
       </xs:element>
       <xs:element name="InformResponse">
         <xs:complexType>
           <xs:sequence>
             ....
           </xs:sequence>
         </xs:complexType>
       </xs:element>
     </xsd:schema>
    </types>

    <message name="Headers">
     <part name="ID" element="tns:ID" />
     <part name="MACAddress" element="tns:MACAddress" />
    </message>
    <message name="InformRequest">
     <part name="part0" element="tns:Inform" />
    </message>
    <message name="InformResponse">
     <part name="part0" element="tns:InformResponse" />
    </message>

    .....

    <binding name="Mybinding" type="tns:MyportType">
       <soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"; />
       <operation name="inform">
         <soap:operation style="document" soapAction="urn:inform" />
         <input>
           <soap:header message="tns:Headers" part="ID" use="literal" />
           <soap:header message="tns:Headers" part="MACAddress" use="literal" />
           <soap:body use="literal" />
         </input>
         <output>
           <soap:header message="tns:Headers" part="ID" use="literal" />
           <soap:header message="tns:Headers" part="MACAddress" use="literal" />
           <soap:body use="literal" />
         </output>
       </operation>
     </binding>
    ....

    </definitions>



    Now, I can create InformDocument & InformResponseDocument classes,
    but how can make classes for <soap:Header> by wsdl2java?

    Thanks for any help!

    Guo





  -- 
  Amila Suriarachchi
  WSO2 Inc.
  blog: http://amilachinthaka.blogspot.com/

Reply via email to