Sample SOAP Request and Response

GeoComplete Module is deprecated

Important: The GeoComplete Module and its REST and SOAP APIs have been deprecated. If you are creating applications that use the type-ahead feature of GeoComplete, we recommend that you use the Interactive service in the Global Geocoding Module and the REST API in Spectrumâ„¢ Technology Platform version 12.0 SP2. Interactive is a type ahead feature using a new data type called Interactive.

This topic shows sample SOAP requests and responses.

Note: Since the service name, option name, and field name ultimately become XML elements, they may not contain characters that are invalid in XML element names (for example, spaces are not valid). Please consult the xml specification for clarification (XML Markup Language). Services not meeting this requirement will still function but will not be exposed as a web services.

Sample SOAP Request

Following is a sample SOAP request and response. The sections for options and rows are all dependent on the metadata for that particular web service; therefore, different components will have different metadata entries. Additionally, there is a user_fields section that allows you to pass in field values that will be returned, unmodified, in the response.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:geoc="http://www.pb.com/spectrum/services/GeoComplete">
   <soapenv:Header/>
   <soapenv:Body>
      <geoc:GeoCompleteRequest>
         <!--Optional:-->
         <geoc:options>
            <!--Optional:-->
            <geoc:Database>bel</geoc:Database>
            <!--Optional:-->
            <geoc:DatabaseSearchOrder></geoc:DatabaseSearchOrder>
            <!--Optional:-->
            <geoc:Path></geoc:Path>
            <!--Optional:-->
            <geoc:GeoCompleteLevel></geoc:GeoCompleteLevel>
            <!--Optional:-->
            <geoc:NoRestriction></geoc:NoRestriction>
            <!--Optional:-->
            <geoc:DistanceFromOrigin></geoc:DistanceFromOrigin>
            <!--Optional:-->
            <geoc:SearchDistance></geoc:SearchDistance>
            <!--Optional:-->
            <geoc:BoundingBox></geoc:BoundingBox>
            <!--Optional:-->
            <geoc:BBoxEast></geoc:BBoxEast>
            <!--Optional:-->
            <geoc:BBoxWest></geoc:BBoxWest>
            <!--Optional:-->
            <geoc:BBoxNorth></geoc:BBoxNorth>
            <!--Optional:-->
            <geoc:BBoxSouth></geoc:BBoxSouth>
            <!--Optional:-->
            <geoc:MatchOnAddressNumber></geoc:MatchOnAddressNumber>
            <!--Optional:-->
            <geoc:GeoCompleteDictionaryPreference></geoc:GeoCompleteDictionaryPreference>
            <!--Optional:-->
            <geoc:CoordinateSystem></geoc:CoordinateSystem>
            <!--Optional:-->
            <geoc:MaxCandidates></geoc:MaxCandidates>
            <!--Optional:-->
            <geoc:SearchRadiusUnit></geoc:SearchRadiusUnit>
            <!--Optional:-->
            <geoc:Locale></geoc:Locale>
            <!--Optional:-->
            <geoc:FuzzyMatch></geoc:FuzzyMatch>
         </geoc:options>
         <!--Optional:-->
         <geoc:input_port>
            <!--Zero or more repetitions:-->
            <geoc:Address>
               <!--You may enter the following 9 items in any order-->
               <!--Optional:-->
               <geoc:AddressLine1>Rijksweg 60</geoc:AddressLine1>
               <!--Optional:-->
               <geoc:City>Bornem</geoc:City>
               <!--Optional:-->
               <geoc:StateProvince>Vlaams Gewest</geoc:StateProvince>
               <!--Optional:-->
               <geoc:PostalCode>2880</geoc:PostalCode>
               <!--Optional:-->
               <geoc:Country>BEL</geoc:Country>
               <!--Optional:-->
               <geoc:Category>Shopping</geoc:Category>
               <!--Optional:-->
               <geoc:OriginLatitude></geoc:OriginLatitude>
               <!--Optional:-->
               <geoc:OriginLongitude></geoc:OriginLongitude>
               <!--Optional:-->
               <geoc:user_fields>
                  <!--Zero or more repetitions:-->
                  <geoc:user_field>
                     <geoc:name></geoc:name>
                     <geoc:value></geoc:value>
                  </geoc:user_field>
               </geoc:user_fields>
            </geoc:Address>
         </geoc:input_port>
      </geoc:GeoCompleteRequest>
   </soapenv:Body>
</soapenv:Envelope>

Sample SOAP Response

Below is a sample SOAP response.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns3:GeoCompleteResponse xmlns:ns2="http://spectrum.pb.com/" xmlns:ns3="http://www.pb.com/spectrum/services/GeoComplete">
         <ns3:output_port>
            <ns3:Address>
               <ns3:AddressLine1>Rijksweg 60</ns3:AddressLine1>
               <ns3:City>Bornem</ns3:City>
               <ns3:County>Mechelen</ns3:County>
               <ns3:Country>BEL</ns3:Country>
               <ns3:LastLine>2880 Bornem</ns3:LastLine>
               <ns3:Latitude>51.09881</ns3:Latitude>
               <ns3:Longitude>4.2529</ns3:Longitude>
               <ns3:PostalCode>2880</ns3:PostalCode>
               <ns3:StateProvince>Vlaams Gewest</ns3:StateProvince>
               <ns3:Name>DreamLand</ns3:Name>
               <ns3:Type>1</ns3:Type>
               <ns3:Distance>-0.0</ns3:Distance>
               <ns3:DistanceUnit>KILOMETERS</ns3:DistanceUnit>
               <ns3:FormattedString>DreamLand, Rijksweg 60, 2880 Bornem</ns3:FormattedString>
               <ns3:BrandName>DreamLand</ns3:BrandName>
               <ns3:IsUserDictionary>false</ns3:IsUserDictionary>
               <ns3:Category>Shopping</ns3:Category>
               <ns3:SubCategory>Toys and Games</ns3:SubCategory>
               <ns3:micode>10010374</ns3:micode>
               <ns3:http>www.dreamland.be</ns3:http>
               <ns3:telnum>+(32)-(3)-8254566</ns3:telnum>
               <ns3:email>dreamland@dreamland.be</ns3:email>
               <ns3:featureID>10560201478679</ns3:featureID>
               <ns3:StreetNameMatch>true</ns3:StreetNameMatch>
               <ns3:AddressNumberMatch>true</ns3:AddressNumberMatch>
               <ns3:AreaName1Match>true</ns3:AreaName1Match>
               <ns3:AreaName3Match>true</ns3:AreaName3Match>
               <ns3:CategoryMatch>true</ns3:CategoryMatch>
               <ns3:user_fields>
                  <ns3:user_field>
                     <ns3:name/>
                     <ns3:value/>
                  </ns3:user_field>
               </ns3:user_fields>
            </ns3:Address>
         </ns3:output_port>
      </ns3:GeoCompleteResponse>
   </soap:Body>
</soap:Envelope>