Skip to content

Instantly share code, notes, and snippets.

@phamthaithinh
Last active August 29, 2015 14:25
Show Gist options
  • Select an option

  • Save phamthaithinh/bccebb20fc473a8ac7db to your computer and use it in GitHub Desktop.

Select an option

Save phamthaithinh/bccebb20fc473a8ac7db to your computer and use it in GitHub Desktop.
Example of a WSDL file to demonstrate the soapenv:mustUnderstand attribute usage
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://example.com/schema"
targetNamespace="http://example.com/schema">
<wsdl:types>
<xsd:schema targetNamespace="http://example.com/schema" elementFormDefault="qualified">
<xsd:element name="header">
<xsd:complexType>
<xsd:attribute ref="soapenv:mustUnderstand" use="optional" />
</xsd:complexType>
</xsd:element>
<xsd:element name="body">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="element_1" type="xsd:string" minOccurs="0" />
<xsd:element name="element_2" type="xsd:string" />
<xsd:element name="element_3" type="xsd:string" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="inputMessage">
<wsdl:part name="header" element="tns:header" />
<wsdl:part name="body" element="tns:body" />
</wsdl:message>
<wsdl:portType name="endpoint">
<wsdl:operation name="operation">
<wsdl:input message="inputMessage" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="binding" type="endpoint">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="operation">
<soap:operation soapAction="http://example.com/operation" style="document" />
<wsdl:input>
<soap:header message="inputMessage" part="header" use="literal" />
<soap:body parts="body" use="literal" />
</wsdl:input>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="service">
<wsdl:port name="port" binding="binding">
<soap:address location="http://localhost:8888/soap" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment