为什么 VB 对 WCF 的脚本调用仅在 Fiddler 运行时有效
Why VB Script call to WCF works only when Fiddler is running
我有这种奇怪的行为,我就是想不通。我有一个非常简单的 VB 脚本,它使用 SoapClient 并与 WCF 端点对话。请看下面。
Dim oPPWS As Object
Set oPPWS = CreateObject("MSSOAP.SoapClient30")
Const URL = "http://localhost:57660/Service1.svc?wsdl"
oPPWS.MSSoapInit URL
Dim strResp As String
strResp = oPPWS.GetData()
当 Fiddler 为 运行 时,此代码“仅”完美运行。否则我会在 oPPWS.MSSoapInit URL
上收到以下错误
"WSDLReader:XML Parser failed at linenumber 0, lineposition 0, reason
is: The download of the specified resource has failed. HRESULT=0x1:
Incorrect function.
- WSDLReader:Loading of the WSDL file failed HRESULT=0x80070057: The parameter is incorrect."
我认为 Fiddler 充当 WCF 调用的代理并使其以某种方式连接到服务。
但我只是不知道/无法确切解释原因。有没有人见过这个?还有没有办法让这段代码在没有这种行为的情况下工作?
我也在 Windows 8.运行
谢谢。
终于搞清楚了。
这是我的 IE 代理设置导致它无法工作。一旦我关闭了 IE 代理设置,无论是否打开了 Fiddler,上面的脚本都有效。
我认为 Fiddler 会忽略 IE 代理设置?可能是,但我不知道。
我发现这个问题的方法是使用 Wireshark
它显示请求失败,因为代理访问 ID 被拒绝
白花了几个小时,希望这能为其他人节省时间:)
我有这种奇怪的行为,我就是想不通。我有一个非常简单的 VB 脚本,它使用 SoapClient 并与 WCF 端点对话。请看下面。
Dim oPPWS As Object
Set oPPWS = CreateObject("MSSOAP.SoapClient30")
Const URL = "http://localhost:57660/Service1.svc?wsdl"
oPPWS.MSSoapInit URL
Dim strResp As String
strResp = oPPWS.GetData()
当 Fiddler 为 运行 时,此代码“仅”完美运行。否则我会在 oPPWS.MSSoapInit URL
上收到以下错误"WSDLReader:XML Parser failed at linenumber 0, lineposition 0, reason is: The download of the specified resource has failed. HRESULT=0x1: Incorrect function. - WSDLReader:Loading of the WSDL file failed HRESULT=0x80070057: The parameter is incorrect."
我认为 Fiddler 充当 WCF 调用的代理并使其以某种方式连接到服务。 但我只是不知道/无法确切解释原因。有没有人见过这个?还有没有办法让这段代码在没有这种行为的情况下工作?
我也在 Windows 8.运行
谢谢。
终于搞清楚了。 这是我的 IE 代理设置导致它无法工作。一旦我关闭了 IE 代理设置,无论是否打开了 Fiddler,上面的脚本都有效。 我认为 Fiddler 会忽略 IE 代理设置?可能是,但我不知道。
我发现这个问题的方法是使用 Wireshark 它显示请求失败,因为代理访问 ID 被拒绝
白花了几个小时,希望这能为其他人节省时间:)