经典ASP调用WCF服务

时间:2015-10-20 14:35:41

标签: xml wcf asp-classic

我从遗留应用程序调用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值应该是什么?这是我试图调用的方法的命名空间吗?

1 个答案:

答案 0 :(得分:0)

我的问题是我的SOAP信封非常不正确。调试经典的asp(在更改IIS设置之后)让我想到了这个。