WSDL Generation

The WSDL that is generated will now include session handling information against every method.

The following is a snippet of a WSDL containing session‑related information.

In the <types> definition section:

</xsd:complexType>
    <xsd:element name="JadeSessionHeader" type="tns:JadeSessionHeader"/>
    <xsd:complexType name="JadeSessionHeader">
    <xsd:sequence>
    <xsd:element name="sessionId" type="xsd:string"/>
    </xsd:sequence>
</xsd:complexType>

In the message section:

<message name="getClientJadeSessionHeader">
    <part name="sessionId" element="tns:JadeSessionHeader"/>
</message>

In the <binding> section:

<operation name="getClient">
<soap:operation soapAction="urn:JadeWebServices/WebServiceOverHttpApp/getClient" style="document"/>
    <input>
        <soap:body use="literal" />
        <soap:header use="literal"
        message="tns:getClientJadeSessionHeader" part="sessionId"/>
    </input>
    <output>
        <soap:body use="literal" />
        <soap:header use="literal"
        message="tns:getClientJadeSessionHeader" part="sessionId"/>
    </output>
</operation>

This information tells the target system to create a class called JadeSessionHeader with a single string property on import and to generate a SOAP header containing the session id at execution time.

As the <header> tag is defined in the <input> and <output> sections, this SOAP header is Input-Output.