1

我需要使用第 3 方网络服务。我的环境:Asp 1.1、IIS 5.1、IE 7+ 和代理服务器后面。我面临身份验证问题。

第 1 步:我已成功添加 Web 服务 - 通过为我们的代理服务器提供我的身份验证详细信息。

第 2 步:用于使用服务的代码

WebProxy proxyObject = new WebProxy("PROXY SERVER URI:PORT/", true);
proxyObject.Credentials = CredentialCache.DefaultCredentials;
myObj.Credentials = System.Net.CredentialCache.DefaultCredentials;
myObj.Proxy = proxyObject;

第 3 步:我得到的响应:“远程服务器返回错误:(407) 需要代理身份验证。” 第 4 步:我将凭据中的代码更改为:

proxyObject.Credentials = new NetworkCredential("UID", "PASSWORD");

第 5 步:结果:正确的结果。

我也发现了这一点:即使我需要在 1.1 中工作,但是当我尝试在 2.0 中使用时: 第 1 步:使用的代码:

myObj.Proxy = WebRequest.DefaultWebProxy;
myObj.Credentials = System.Net.CredentialCache.DefaultCredentials;
myObj.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;

第 2 步:http://localhost:14475/TransUnion_VS2008/HostWS_FW.asmx?op=TURequest当我从 VS2008 运行时,它与端口号一样工作正常

http://localhost/TU_HostWS/Service.asmx第 3 步:但是当我从 IIS 运行时,相同的代码不起作用。它抛出以下错误消息:

System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: 连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机在 System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP) 在 System.Net.ServicePoint 的 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) 未能响应 XXX.XXX.XXX.XXX:XXX .ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception) --- 内部异常堆栈跟踪结束---在 System.Net.HttpWebRequest.GetRequestStream System.Net.HttpWebRequest 中的(TransportContext& 上下文)。GetRequestStream() at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at TU_Prod.CreditReport.ProcessRequestXMLV2(TUCANREL4 TUCANREL4, REL4Report& REL4Report) at Service.TURequest()

http://localhost/TU_HostWS/Service.asmx第 4 步。仅当我更改代码并提供我的身份验证详细信息时,它才从 IIS 工作:

proxyObject.Credentials = new NetworkCredential("UID", "PASSWORD");

你能帮我吗?我尝试使用 IIS “未设置为 Windows、BASIC 或 Digest,但仅作为匿名”但没有运气。请帮忙..

4

0 回答 0