An endpoint is a service that can listen natively for requests. SMO supports various types of endpoints by using the Endpoint object. You can create an endpoint service that handles a specific type of payload, which uses a specific protocol, by creating an instance of an Endpoint object and setting its properties.
The EndpointType property of the Endpoint object can be used to specify on of the following payload types:
- Database mirroring
- Service Broker
Also, the ProtocolType property can be used to specify the following two supported protocols:
- HTTP protocol
- TCP protocol
Having specified the type of payload, the actual payload can be set by using the Payload object property. The Payload object property provides a reference to a payload object of the specified type, for which the properties can be modified.
For the DatabaseMirroringPayload object, you must specify the mirroring role and whether encryption is enabled. The ServiceBrokerPayload object requires information about message forwarding, maximum number of connections allowed and the authentication mode. The SoapPayloadMethod object requires various properties to be set including the Add object property that specifies the SOAP payload methods available to clients (stored procedures and user-defined functions).
Similarly, the actual protocol can be set by using the Protocol object property that references a protocol object of the type specified by ProtocolType property. The HttpProtocol object requires a list of restricted IP addresses, and port, website, and authentication information. The TcpProtocol object also requires a list of restricted IP addresses and port information.
When the endpoint has been created and fully defined, access can be granted to, revoked from, and denied to database users, groups, roles, and logons.