Q2: I created an endpoint but I cannot connect to it. How do I check if the configuration is set properly?
A: When creating an HTTP endpoint, its state is configured as STOPPED by default unless it is specifically changed with the clause STATE=STARTED in the DDL statement.
To check this setting just execute the following query:
select stop_requested from sys.http_endpoints where name = '<your endpoint name>'
If value is 1, then the endpoint is stopped. To change this state, one can drop and re-create the endpoint or just simply alter it to set the STATE=STARTED. Some other useful endpoint views for checking endpoint configurations are:
select * from sys.http_soap_methods
This view will list all webmethods mapped to the endpoints:
select * from sys.http_data_endpoints
This view provides more details than sys.http_endpoints such as whether XSD schema and WSDL is enabled.
The next place to verify is in the connection permissions for the endpoint. After creating a new endpoint, only members of the sysadmin role and the endpoint owner can connect to it, unless a specific GRANT permission is set. The syntax for this permission is as follows:
GRANT CONNECT ON HTTP ENDPOINT::<endpoint name> TO [user]
More information on HTTP endpoint permissions is located in books online under the following title: "Granting HTTP Endpoint Permissions".