2009-06-24 165 views
0

我們正在連接來自C#(VS.Net 2003)應用程序的Web服務(Java)。在HTTP 1.0協議上運行的Web服務。另一方面,VS.Net 2003嘗試使用HTTP 1.1協議進行訪問。 因此對象是空值。Web服務.NET Framework問題

例如,我們正在獲取字符串[5]對象正確,但數組的項目爲空值。

我們必須將HTTP協議轉換爲1.0。 2005年和2008年沒有問題。

我們如何在VS 2003框架1.1中做到這一點?

回答

0

您能舉一個例子,瞭解1.0 web服務調用的預期內容嗎?如果是這樣,請仔細閱讀並確保所有內容都正確地傳遞到肥皂信封中,並確保將所有設置添加到標題中。我剛剛更新了一個可用於使用WebRequest進行SOAP調用的應用程序,並且每次嘗試調用1.1 Web服務時都會失敗。有多個問題。

1)命名空間

- 1.2 = "soap12" 
    - 1.1 = "soap" 

    *Plus, the URL is different for each namespace. 

2)的ContentType

- 1.2 = "application/soap+xml; charset=utf-8" 
    - 1.1 = "text/xml; charset=utf-8" 

3)當調用1.1 web服務我不得不設置的SOAPAction在頭中。沒有它,從服務器不斷收到500錯誤。

我通過查看由Web服務生成的自動生成的測試頁(它具有SOAP 1.1和1.2調用的示例),發現了這一點。然後,我將它與我們正在構建的SOAP信封/標題進行比較。一旦我們產生的結果與例子相匹配,所有的都按預期工作。

由於我不知道你是如何調用Java Web服務的,上面的信息可能適用,也可能不適用,但至少你有一些事情要檢查。

如果您可以發佈更多關於如何在VS2003中調用Web服務的特定信息(又名:代碼示例),它將有助於獲得更明確的答案。