2015-10-20 139 views
1

我正在从传统应用调用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值应该是什么?这是我试图调用的方法上的命名空间吗?

回答

0

我的问题是我的SOAP信封大量不正确。调试经典的asp(改变IIS设置后,让我看到了这一点。)