3.1.4.8 EditContentSource

This operation is used to edit the content source properties in the crawler application.

 <wsdl:operation name="EditContentSource">
   <wsdl:input wsam:Action="http://tempuri.org/ISearchApplicationAdminWebService/EditContentSource" message="tns:ISearchApplicationAdminWebService_EditContentSource_InputMessage"/>
   <wsdl:output wsam:Action="http://tempuri.org/ISearchApplicationAdminWebService/EditContentSourceResponse" message="tns:ISearchApplicationAdminWebService_EditContentSource_OutputMessage"/>
 </wsdl:operation>

The protocol client sends an ISearchApplicationAdminWebService_EditContentSource_InputMessage request message and the protocol server responds with an ISearchApplicationAdminWebService_EditContentSource_OutputMessage response message, as follows:

  • On receipt the protocol server validates the versionIn value from the request message. If it doesn’t match the current configuration version of the crawler application, the protocol server MUST throw a FaultException<ExceptionDetail> message.

  • The protocol server then updates the current configuration version of the crawler application to the value of versionIn+1.

  • If the content source with the identifier specified in the id element in the request message does not exist, the protocol server MUST throw a FaultException<ExceptionDetail> message.

  • The protocol server MUST normalize each startAddress.string element from the request message as follows:

    • If the string is not a valid URI or UNC path, the protocol server MUST throw a FaultException<ExceptionDetail> message.

    • Convert the scheme to lowercase.

    • Convert the host name to lowercase.

    • Remove the default and empty port numbers.

    • Remove all trailing ‘/’ characters.

    • If the string represents a local path, the protocol server MUST throw a FaultException<ExceptionDetail> message.

    • If the scheme is http or https, convert to a URL escaped string.

    • If the scheme is file, or if the string is a UNC path, and the character ‘*’ is present in the string, the protocol server MUST throw a FaultException<ExceptionDetail> message.

    • If the scheme is file, convert the string to a UNC path, and replace every ‘/’ character with the ‘\’ character.

    • If the scheme is other than file, replace every ‘\’ character with the ‘/’ character.

  • If there are any duplicate startAddress.string elements in the request message, the protocol server MUST throw a FaultException<ExceptionDetail> message.

  • If values of any of the startAddress.string elements in the request message is a SharePoint start address and already exists as a start address in another content source, the protocol server MUST throw a FaultException<ExceptionDetail> message.

  • The protocol server updates the content source's name, metadata, followDirectories,  startAddress, fullCrawlTrigger, incCrawlTrigger, and crawlPriority properties to the values specified in the corresponding elements in the request message, the pageDepth property to the value specified in the enumerationDepth element in the request message, and the siteDepth property to the value specified in the hostDepth element in the request message.

  • On success, the protocol server MUST return the updated configuration version of the crawler application in the EditContentSourceResult element in the response message.

  • For all other errors, the protocol server MUST send a FaultException<ExceptionDetail> message to the protocol client.