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.