This Service is implemented by Discovery Servers.

This Service allows a Server to register its DiscoveryUrls and capabilities with a Discovery Server. It extends the registration information from RegisterServer with information necessary for FindServersOnNetwork. This Service will be called by a Server or a separate configuration utility. Clients will not use this Service.

Servers that support RegisterServer2 shall try to register with the Discovery Server using this Service and shall fall back to RegisterServer if RegisterServer2 fails with the status Bad_ServiceUnsupported.

A Discovery Server that implements this Service needs to assign unique record ids each time this Service is called. See 5.5.3 for more details.

This Service can only be invoked via SecureChannels that support Client authentication (i.e. HTTPS cannot be used to call this Service).

Table 8 defines the parameters for the Service.

Table 8 – RegisterServer2

Name

Type

Description

Request

requestHeader

RequestHeader

Common request parameters.

The authenticationToken is always null.

The type RequestHeader is defined in 7.33.

Server

RegisteredServer

The Server to register. The type RegisteredServer is defined in 7.32.

discoveryConfiguration []

ExtensibleParameter DiscoveryConfiguration

Additional configuration settings for the Server to register.

The discoveryConfiguration is an extensible parameter type defined in 7.13.

Discovery Servers that do not understand a configuration shall return Bad_NotSupported for this configuration.

Response

responseHeader

ResponseHeader

Common response parameters.

The type ResponseHeader is defined in 7.34.

configurationResults []

StatusCode

List of results for the discoveryConfiguration parameters.

diagnosticInfos []

DiagnosticInfo

List of diagnostic information for the discoveryConfiguration parameters. This list is empty if diagnostics information was not requested in the request header or if no diagnostic information was encountered in processing of the request.

Table 9 defines the Service results specific to this Service. Common StatusCodes are defined in Table 182.

Table 9 – RegisterServer2 Service Result Codes

Symbolic Id

Description

Bad_InvalidArgument

See Table 182 for the description of this result code.

Bad_ServerUriInvalid

See Table 182 for the description of this result code.

Bad_ServerNameMissing

No ServerName was specified.

Bad_DiscoveryUrlMissing

No discovery URL was specified.

Bad_SemaphoreFileMissing

The semaphore file specified is not valid.

Bad_ServiceUnsupported

See Table 182 for the description of this result code.

Table 10 defines values for the operation level configurationResults parameters that are specific to this Service. Common StatusCodes are defined in Table 183.

Table 10 – RegisterServer2 Operation Level Result Codes

Symbolic Id

Description

Bad_NotSupported

See Table 183 for the description of this result code.