Re: HTTP endpoint WSDL fails to be created; wsdl does not exist (S

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



IIS is not involved with nor is it needed for web services set up in SQL Server 2005. SQL Server works directly with http.sys to set up the endpoint. In general you probably wouldn't have IIS running on the server that was running SQL Server, but YMMV.

If IIS is running on the same system as SQL server you might start by shutting down IIS, you may be having a port collision on port 80.

Here is a simple web service endpoint

CREATE ENDPOINT Test5
STATE = STARTED
AS HTTP
(
path = '/test5',
PORTS = (CLEAR),
CLEAR_PORT = 8080,
SITE = '*',
AUTHENTICATION = (INTEGRATED)
)
FOR SOAP
(
WEBMETHOD 'urn:autos'.'GetColors'
(
NAME = 'SQLCourse.dbo.colorsCount', SCHEMA=DEFAULT),
WSDL=DEFAULT,
SCHEMA=STANDARD,
BATCHES=ENABLED,
DATABASE='SQLCourse',
NAMESPACE='urn:other'
)



browsing

http://localhost:8080/Test5?WSDL

from the machine running SQL Server returns the wsdl for the service and is what, for example, Visual Studio add web reference would use. This WSDL file doesn't exist anywhere on the machine, it is created on the fly in response the ?WSDL query string.

This example puts the web services on CLEAR_PORT=8080 so it doesn't collide with IIS on my XP dev system. On Windows Server SQL Server and IIS can share port 80, but not on XP.


When you do

select name, state_desc from sys.http_endpoints

is the state_desc "started"?

The fact that the endpoint exists is not enough, it must be started. You should be able to see you endpoint in the Surface Area Configuration Manager Features and what its state is and change it. This tool is under start->all programs->Microsoft Sql Server->config, or something like that.


Dan




Also, the no virtual directory appears to have been set up in IIS by
the XML Endpoint setup script; consequently I'm confused by your
suggestion that IE could access it. One article I read stated that
this was normal for an XML Endpoint.

"Dan Sullivan" wrote:

What do you mean that the wsdl has not been created? The wsdl is only
created on the fly when you use the query string ?WSDL.

Are you able to access the site? You should be able to use IE to
access the wsdl by browsing something like:
http://MyMachine/Test5?WSDL

and see the WSDL for your site.

Have you tried using the Surface Area configuration utility to see if
the endpoint is actually running? Or you can try

select * from sys.endpoints

The started_desc will tell you if your endpoint is actually running.

Dan

I followed the instructions for creating an HTTP XML endpoint, and
try to call it from a client, the wsdl for the service has not been
created and can't be addressed. Some step must be missing.

The endpoint shows up in Database objects as created, but the wsdl
has not been created. I had my work checked by others and they
cannot find anything wrong with my setup.

What am I missing?



.



Relevant Pages

  • Re: Webservice SQL logon fails on production IIS server
    ... authentication for SQL Server authentication because the stored procedures ... The web services work correctly when they are hosted ... hosted on an IIS server on the same machine as the SQL Server. ...
    (microsoft.public.dotnet.framework.webservices)
  • Re: Alternate to RDA
    ... Other than web services ... I'm not aware of any other way to connect to SQL Server. ... Both required IIS. ... > I can ask my client to always use a Active Sync to connect to the desktop ...
    (microsoft.public.dotnet.framework.compactframework)
  • user authentication
    ... 2 The web services that works through ... IIS, and lastly my SQL server. ... credentials from one level to another by user impersonation? ...
    (microsoft.public.sqlserver.security)
  • Re: Alternate to RDA
    ... If you have a highly reliable connection from device to server, ... it has the ability to serve as a web services endpoint (no IIS ... with SQL Server 2005 using a few web services and not have IIS ...
    (microsoft.public.dotnet.framework.compactframework)
  • Re: New to Merge/Replication
    ... ADO.NET 3.0 includes "Synchronization Services" that does not require IIS. ... Hitchhiker's Guide to Visual Studio and SQL Server ... It was my deepest hope that Merge/Replication between SQL Compact Edition and SQL Server 2005 Enterprise Edition would have it's own sync services NOT dependent on IIS. ... You can use merge replication with SQL Server on your main desktop serving as the publisher with SQL Compact on PPC, TabletPC, or other desktops as subscribers, so that would probably be the easiest solution for you. ...
    (microsoft.public.sqlserver.ce)