4.2 Obtain Registration Information

The protocol client might request registration information by sending a request such as this one:

 <?xml version="1.0" encoding="utf-8"?>
 <soap12:Envelope
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
   <soap12:Body>
     <Registration xmlns="urn:Microsoft.Search">
       <registrationXml>&lt;RegistrationRequest revision=&#39;2&#39; build=&#39;(12.0.6017)&#39; xmlns=&#39;urn:Microsoft.Search.Registration.Request&#39;&gt;&lt;OriginatorId&gt;{F6FF7BE0-F39C-4ddc-A7D0-09A4C6C647A5}&lt;/OriginatorId&gt;&lt;SystemInformation&gt;&lt;SkuLanguage&gt;en-us&lt;/SkuLanguage&gt;&lt;LanguagePack&gt;en-us&lt;/LanguagePack&gt;&lt;InterfaceLanguage&gt;en-us&lt;/InterfaceLanguage&gt;&lt;Location&gt;US&lt;/Location&gt;&lt;/SystemInformation&gt;&lt;/RegistrationRequest&gt;</registrationXml>
     </Registration>
   </soap12:Body>
 </soap12:Envelope>

The request information in the preceding message is doubly encoded XML. The following shows the decoded value of the registrationXml string:

 <RegistrationRequest revision='2' build='(12.0.6017)' xmlns='urn:Microsoft.Search.Registration.Request'>
   <OriginatorId>{F6FF7BE0-F39C-4ddc-A7D0-09A4C6C647A5}</OriginatorId>
   <SystemInformation>
     <SkuLanguage>en-us</SkuLanguage>
     <LanguagePack>en-us</LanguagePack>
     <InterfaceLanguage>en-us</InterfaceLanguage>
     <Location>US</Location>
   </SystemInformation>
 </RegistrationRequest>

Note that the protocol server does not interpret this information; it only verifies that the XML is valid.

This might be protocol server’s response to this message:

 <?xml version="1.0" encoding="utf-8"?>
 <soap:Envelope 
   xmlns:soap="http://www.w3.org/2003/05/soap-envelope" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
     <RegistrationResponse xmlns="urn:Microsoft.Search">
       <RegistrationResult>&lt;ProviderUpdate xmlns="urn:Microsoft.Search.Registration.Response"&gt;&lt;Status&gt;SUCCESS&lt;/Status&gt;&lt;Providers&gt;&lt;Provider&gt;&lt;Id&gt;{09bd9f60-9072-4786-a2dc-9863dc3a0c3a}&lt;/Id&gt;&lt;Name&gt;Microsoft Search Server Fourteen&lt;/Name&gt;&lt;QueryPath&gt;http://example.com/_vti_bin/search.asmx&lt;/QueryPath&gt;&lt;Type&gt;SOAP&lt;/Type&gt;&lt;Services&gt;&lt;Service&gt;&lt;Id&gt;{09bd9f60-9072-4786-a2dc-9863dc3a0c3a}&lt;/Id&gt;&lt;Name&gt;Example Site&lt;/Name&gt;&lt;Category&gt;INTRANET_GENERAL&lt;/Category&gt;&lt;Description&gt;This service allows you to search the site : Example Site&lt;/Description&gt;&lt;Copyright&gt;Microsoft® Search Server Fourteen&lt;/Copyright&gt;&lt;Display&gt;On&lt;/Display&gt;&lt;/Service&gt;&lt;/Services&gt;&lt;/Provider&gt;&lt;/Providers&gt;&lt;/ProviderUpdate&gt;</RegistrationResult>
     </RegistrationResponse>
   </soap:Body>
 </soap:Envelope>

The request information in the preceding message is doubly encoded XML. The following shows the decoded value of the RegistrationResult string:

 <ProviderUpdate xmlns="urn:Microsoft.Search.Registration.Response">
   <Status>SUCCESS</Status>
   <Providers>
     <Provider>
       <Id>{09bd9f60-9072-4786-a2dc-9863dc3a0c3a}</Id>
       <Name>Microsoft Search Server Fourteen</Name>
       <QueryPath>http://example.com/_vti_bin/search.asmx</QueryPath>
       <Type>SOAP</Type>
       <Services>
         <Service>
           <Id>{09bd9f60-9072-4786-a2dc-9863dc3a0c3a}</Id>
           <Name>Example Site</Name>
           <Category>INTRANET_GENERAL</Category>
           <Description>This service allows you to search the site : Example Site</Description>
           <Copyright>Microsoft® Search Server Fourteen</Copyright>
           <Display>On</Display>
         </Service>
       </Services>
     </Provider>
   </Providers>
 </ProviderUpdate>