Example 2: WSDL describing FindAddress input parameters.

<wsdl:message name="FindAddressSoapIn">
  <wsdl:part name="parameters" element="tns:FindAddress" /> 

<s:element name="FindAddress">
 <s:complexType>
  <s:sequence>
  <s:element minOccurs="0" maxOccurs="1" name="specification" 
                         type="tns:FindAddressSpecification" /> 
  </s:sequence>
 </s:complexType>
</s:element>

<s:complexType name="FindAddressSpecification">
 <s:sequence>
  <s:element minOccurs="0" maxOccurs="1" 
                   name="DataSourceName" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" 
                   name="InputAddress" type="tns:Address" /> 
  <s:element minOccurs="0" maxOccurs="1" 
                   name="Options" type="tns:FindOptions" /> 
 </s:sequence>
</s:complexType>

<s:complexType name="Address">
  <s:sequence>
  <s:element minOccurs="0" maxOccurs="1" 
                           name="AddressLine" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" 
                           name="PrimaryCity" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" 
                           name="SecondaryCity" type="s:string"/> 
  <s:element minOccurs="0" maxOccurs="1" 
                           name="Subdivision" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" 
                           name="PostalCode" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" 
                           name="CountryRegion" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" 
                           name="FormattedAddress" type="s:string" /> 
 </s:sequence>
</s:complexType>

<s:complexType name="FindOptions">
 <s:sequence>
  <s:element minOccurs="0" maxOccurs="1" 
                           name="Range" type="tns:FindRange" /> 
  <s:element minOccurs="1" maxOccurs="1" 
                           name="SearchContext" type="s:int" /> 
  <s:element minOccurs="1" maxOccurs="1" 
                           name="ResultMask" type="tns:FindResultMask" /> 
  <s:element minOccurs="0" maxOccurs="1" default="0.85" 
                           name="ThresholdScore" type="s:double" /> 
 </s:sequence>
</s:complexType>

<s:complexType name="FindRange">
 <s:sequence>
  <s:element minOccurs="0" maxOccurs="1" default="0" 
                           name="StartIndex" type="s:int" /> 
  <s:element minOccurs="0" maxOccurs="1" default="25" 
                           name="Count" type="s:int" /> 
 </s:sequence>
</s:complexType>
<s:simpleType name="FindResultMask">
 <s:list>
 <s:simpleType>
 <s:restriction base="s:string">
  <s:enumeration value="LatLongFlag" /> 
  <s:enumeration value="EntityFlag" /> 
  <s:enumeration value="AddressFlag" /> 
  <s:enumeration value="BestMapViewFlag" /> 
 </s:restriction>
 </s:simpleType>
 </s:list>
</s:simpleType>