Requête et réponse XML POST pour le service Geocode

Requête XML POST

Voici un exemple de requête XML POST pour le service Geocode. Cet exemple illustre l'activation de la fonction de décalage d'axe dans customPreferences ainsi que la définition des champs matchOnAddressNumber et matchOnStreetNamedans l'objet mustMatchFields. Pour activer les paramètres mustMatchFields, il faut configurer le champ matchMode sur CUSTOM.

POST http://myserver:8080/rest/GlobalGeocode/geocode.xml HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<geocodeRequest>
   <type>ADDRESS</type>
   <preferences>
      <returnAllCandidateInfo 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xsi:nil="true" />
      <fallbackToGeographic 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xsi:nil="true" />
      <fallbackToPostal 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xsi:nil="true" />
      <maxReturnedCandidates 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xsi:nil="true" />
      <distance 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xsi:nil="true" />
      <streetOffset 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xsi:nil="true" />
      <cornerOffset 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xsi:nil="true" />
      <matchMode>CUSTOM</matchMode>
      <mustMatchFields>
         <matchOnAddressNumber>true</matchOnAddressNumber>
         <matchOnPostCode1>false</matchOnPostCode1>
         <matchOnPostCode2>false</matchOnPostCode2>
         <matchOnAreaName1>false</matchOnAreaName1>
         <matchOnAreaName2>false</matchOnAreaName2>
         <matchOnAreaName3>false</matchOnAreaName3>
         <matchOnAreaName4>false</matchOnAreaName4>
         <matchOnAllStreetFields>false</matchOnAllStreetFields>
         <matchOnStreetName>true</matchOnStreetName>
         <matchOnStreetType>false</matchOnStreetType>
         <matchOnStreetDirectional>false</matchOnStreetDirectional>
         <matchOnPlaceName>false</matchOnPlaceName>
         <matchOnInputFields>false</matchOnInputFields>
      </mustMatchFields>
      <customPreferences>
         <entry>
            <key 
                xmlns:xs="http://www.w3.org/2001/XMLSchema" 
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                xsi:type="xs:string">CENTERLINE_OFFSET_UNIT</key>
            <value 
                xmlns:xs="http://www.w3.org/2001/XMLSchema" 
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                xsi:type="xs:string">FEET</value>
         </entry>
         <entry>
            <key 
                xmlns:xs="http://www.w3.org/2001/XMLSchema" 
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                xsi:type="xs:string">CENTERLINE_OFFSET</key>
            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" 
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                xsi:type="xs:string">30.0</value>
         </entry>
         <entry>
            <key 
                xmlns:xs="http://www.w3.org/2001/XMLSchema" 
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                xsi:type="xs:string">USE_CENTERLINE_OFFSET</key>
            <value 
                xmlns:xs="http://www.w3.org/2001/XMLSchema" 
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                xsi:type="xs:string">true</value>
         </entry>
      </customPreferences>
   </preferences>
   <addresses>
      <mainAddressLine>
            36 Rue de la Haute Moline Champagne-Ardenne 10800
      </mainAddressLine>
      <country>FRA</country>
   </addresses>
</geocodeRequest>

Réponse XML POST

L'exemple suivant illustre la réponse XML renvoyée par la requête précédente.

<?xml version="1.0" encoding="UTF-8"?>
<GeocodeServiceResponseList>
   <responses>
      <totalPossibleCandidates>1</totalPossibleCandidates>
      <totalMatches>1</totalMatches>
      <candidates>
         <precisionLevel>1</precisionLevel>
         <formattedStreetAddress>
                36 rue de la Haute Moline
         </formattedStreetAddress>
         <formattedLocationAddress>
                10800 Saint-Julien-les-Villas
         </formattedLocationAddress>
         <identifier>65277882</identifier>
         <precisionCode>S5HPNTS-ZA</precisionCode>
         <sourceDictionary>0</sourceDictionary>
         <geometry>
            <type>Point</type>
            <coordinates>4.10284503209829</coordinates>
            <coordinates>48.28588205764661</coordinates>
            <crs>
               <type>name</type>
               <properties>
                  <name>epsg:4326</name>
               </properties>
            </crs>
         </geometry>
         <address>
            <mainAddressLine>36 rue de la Haute Moline</mainAddressLine>
            <addressLastLine>
                   10800 Saint-Julien-les-Villas
            </addressLastLine>
            <placeName />
            <areaName1>Champagne-Ardenne</areaName1>
            <areaName2>Aube</areaName2>
            <areaName3>Saint-Julien-les-Villas</areaName3>
            <areaName4 />
            <postCode1>10800</postCode1>
            <postCode2 />
            <country>FRA</country>
            <addressNumber>36</addressNumber>
            <streetName>de la Haute Moline</streetName>
            <customFields />
         </address>
         <ranges>
            <lowHouse>34</lowHouse>
            <highHouse>38</highHouse>
            <side>RIGHT</side>
            <oddEvenIndicator>EVEN</oddEvenIndicator>
            <customValues />
         </ranges>
      </candidates>
   </responses>
</GeocodeServiceResponseList>