3.1.4.19 EditContentSource

This operation is used to edit the content source properties in the crawler application’s portal content project.

 <wsdl:operation name="EditContentSource">
         <wsdl:input message="EditContentSourceSoapIn"/>
         <wsdl:output message="EditContentSourceSoapOut"/>
 </wsdl:operation>

The protocol client sends an EditContentSourceSoapIn request message and the protocol server responds with a EditContentSourceSoapOut 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 SOAP fault message containing an UpdatedConcurrencyException.

  • 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 SOAP fault message containing a DeletedConcurrencyException.

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

    • If the string is not a valid URI or UNC path, the protocol server MUST throw SOAP fault message containing UriFormatException.

    • 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 SOAP fault message containing a COMException with the HRESULT field set to 0x80040db2.

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

    • If the scheme is a file or the string is a UNC path then if the character ‘*’ is present in the string, the protocol server MUST throw a SOAP fault message containing a COMException with the HRESULT field set to 0x80040d60.

    • 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 elements of the startAddress array element in the request message, the protocol server MUST throw a SOAP fault message containing an ArgumentException.

  • If values of any of the elements of the startAddress array elements in the request message already exist as start addresses in another content source, and the wssCrawlStyle element of the request message is not 1, the protocol server MUST throw a SOAP fault message containing an ArgumentException with the ParamName parameter set to the duplicate value.

  • If the wssCrawlStyle element in the request message is set to 0, but there is another content source with a wssCrawlStyle property of 1 that contains a start address with the same host name as the host name of one of the elements of the startAddresses array element in the request message, the protocol server MUST throw a SOAP fault message containing an ArgumentException with the ParamName parameter set to the value of the failing element of the startAddresses array element.

  • The protocol server updates the content source's name, wssCrawlStyle, metadata, followDirectories, startAddress, fullCrawlTrigger and incCrawlTrigger 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.

  • On error, the protocol server MUST throw a SOAP fault message.