经典ASP调用WCF服务
问题描述:
我正在从传统应用调用WCF服务。我有下面的代码:经典ASP调用WCF服务
serviceUrl = "https://link.to/Services/MyService.svc"
Dim oXmlHTTP : Set oXmlHTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0")
oXmlHTTP.setOption 2, 13056
oXmlHTTP.Open "POST", serviceUrl, False
oXmlHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oXmlHTTP.setRequestHeader "Content-Length", Len(SOAPRequest)
oXmlHTTP.setRequestHeader "SOAPAction", "InsertPerson"
oXmlHTTP.send(SOAPRequest)
writetologfile(oXmlHTTP.responseXML.xml)
Dim responseStatus
responseStatus = oXmlHTTP.responseText
writetologfile(responseStatus)
writetologfile(oXmlHTTP.responseBody)
SOAPRequest是我的XML其形成正确
writetologfile是一个自我解释的方法,令人震惊,写入日志文件。
问题是,上述代码根本不会调用服务。 oXmlHTTP.Response对象为空,我无法找到问题所在。代码似乎不会出现错误,就好像该调用已正常工作,但它看起来不是(或者如果是,则未设置响应)。
有什么想法?
编辑:我认为它是oXmlHTTP.setRequestHeader“SOAPAction”,“InsertPerson”是造成这个问题?我如何确定SOAPAction值应该是什么?这是我试图调用的方法上的命名空间吗?
答
我的问题是我的SOAP信封大量不正确。调试经典的asp(改变IIS设置后,让我看到了这一点。)