2015-10-20 121 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設置後,讓我看到了這一點。)