因此,我試圖使用soap與webservice進行通信並獲取錯誤。這個特定問題令人沮喪的是,它與我的本地web服務副本(是的,我嘗試關閉我的防火牆)完美兼容,並且以前版本的web服務和客戶端可以正常工作。我懷疑我可以(儘管我將不得不查找如何執行此操作)爲客戶端發送的內容添加一個操作參數。然而,我很好奇爲什麼它能夠在沒有人的情況下工作。Soap Post Failure
編輯澄清:我認爲相關的代碼是,當它停止工作,當它的工作(因爲我查了針對老版本的程序和有同樣的問題和相關的代碼是間同同樣...除非我錯過了一些微妙的東西)。我知道實際的服務器程序在本地副本和遠程副本上都是相同的,即使它只在本地工作。因此,我懷疑有一些奇怪的配置設置,我可以改變它使其工作。
錯誤消息:「soap:ClientUnable無法處理沒有有效操作參數的請求,請提供有效的soap動作。」
VB客戶端代碼
'WEB_SERVICE_URL_CONST = http://site.com/foo.asmx
'domDoc.xml = <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><TestConnection xmlns="http://site.com"/></soap:Body></soap:Envelope>
Dim oXml As New XMLHTTPRequest
oXml.Open "POST", WEB_SERVICE_URL_CONST, False, "\"
oXml.setRequestHeader "Content-Type", "text/xml"
oXml.send domDoc.xml
C#服務器代碼
[WebMethod]
public int TestConnection()
{
return 1;
}
註釋掉的行在實際版本中不存在:它們被添加以提供示例代碼不提供的上下文。我驗證了這些值是我在運行時說的,儘管這兩個地方的網址都是假的。 – Brian 2009-04-15 13:54:01