【发布时间】:2013-11-19 05:42:43
【问题描述】:
我有一个简单的 Web 服务 getAD.asmx,用于从活动目录中检索数据。我需要以特定用户身份执行 WS,并确保只有企业用户才能使用它,所以我使用的是 Windows 身份验证和 ASP.NET Impersonation。
我尝试添加一个本地简单的 web 表单来测试我的服务,它似乎可以正常工作
getAD myWS = new getAD();
string testResult = myWS.test(); // testResult execute correctly
现在我正尝试从另一个 C# 应用程序调用相同的服务,因此我添加了一个 Web 引用并进行了相同的调用,但是我收到任何用户的 401 错误(未经授权)。
rbasws01.getAD myWS = new rbasws01.getAD();
string testResult = myWS.test(); // error 401, not authorized
我错过了什么吗?
编辑:这是我的 WebService 的代码
[WebService(Namespace = "http://myUri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class getAD : System.Web.Services.WebService {
[WebMethod]
public string test() {
return "Test positive";
}
}
【问题讨论】:
-
您是否尝试在
http://example.com内的某个地方执行http://example.com/webservice/getAD? -
如果我使用浏览器并输入
http://myServer/webservice/getAD.asmx我可以看到现有方法 -
是的,但是您是否已将其部署在具有 example.com 指向的 IIS 的服务器上?
-
我只在我的公司网络中使用这个服务器,所以我只使用
http://myServer/
标签: c# asp.net web-services