日期:2014-05-18  浏览次数:20533 次

关于SQL SERVER 2005 Web Service 身份验证问题

我在SQL SERVER 2005上建立一个Endpoint和一个webservice代码如下
=======================================================================
CREATE ENDPOINT WebServiceTest
AUTHORIZATION [servername\peter]
STATE = STARTED
AS HTTP
(
AUTHENTICATION = (INTEGRATED),
PATH = '/MyTestWebservicepath/',
PORTS = (CLEAR),
CLEAR_PORT = 8845,
SITE = '*'
)
FOR SOAP
(
WEBMETHOD 'urn:servername'.'AddDeviceBorrowRecord'
(
NAME = '[Resource].dbo.P_AddRadioDeviceBorrowRecord',
SCHEMA = STANDARD,
FORMAT = ALL_RESULTS
),
WSDL = DEFAULT,
BATCHES = DISABLED,
SCHEMA = STANDARD,
SESSION_TIMEOUT = 100,
DATABASE = 'Resource',
NAMESPACE = DEFAULT,
CHARACTER_SET = XML
)

Go
Use Master
GRANT CONNECT ON ENDPOINT::WebServiceTest TO [servername\peter]
=======================================================================

问题是当我在数据库服务器端浏览器输入以下地址
http://localhost:8845/MyTestWebservicepath?WSDL

一切都是OK的 但是当我在数据库客户端上输入地址:
http://ServerName:8845/MyTestWebservicepath?WSDL
就会弹出一个登陆框, 我输入servername\peter和zhengque的
密码后 无法通过身份验证, servername\peter是数据库端的
用户, 在创建endpoing时 已给他全部权限。 但在别的机子
上无论如何都不能用这个用户名访问web sercice.

请哪位大师来指导下如何解决啊?


------解决方案--------------------
查看一下客户端和服务器的事件日志,看看是什么原因无法登录.
------解决方案--------------------
查看一下sql 管理 里面的sql server 日志
那里面应该有错误信息
------解决方案--------------------
servername改成IP试试