2011-03-30 13 views

回答

3

這帶來了幾年前的一些記憶。同樣確切的問題,AXIS和.Net沒有很好地一起玩。在我的情況下,它與AXIS有關,希望將NULL屬性設置爲空字符串,並且.Net假定NULL屬性可以被忽略(或類似的東西,它已經有一段時間了)。

無論如何,您可能會添加服務引用而不是Web引用。刪除當前參考並添加一個新參考,但不要在「添加服務參考」屏幕上輸入任何內容,請單擊「高級」按鈕,然後單擊「添加Web參考」按鈕。這將最終會給你一個類,你可以覆蓋GetWebResponse()英寸

我不能告訴你什麼區別,除了在VS2008中的Web引用隱藏贊成服務引用。

編輯

一旦你得到了你需要從它派生新類的Web引用。對於下面的例子中我將下面的WSDL從亞馬遜:

http://soap.amazon.com/schemas2/AmazonWebServices.wsdl

添加一個名爲Test新類(或可能想出一個更好的名字)。讓那個類繼承這個服務的主類。 (主類可能是Reference.cs中列出的第一類,但是它永遠會從SoapHttpClientProtocol繼承)。然後只是覆蓋:

class Test : com.amazon.soap.AmazonSearchService 
{ 
    protected override System.Net.WebResponse GetWebResponse(System.Net.WebRequest request) 
    { 
     return base.GetWebResponse(request); 
    } 
} 
+0

我添加了一個「Web引用」它創建了一個Reference.cs文件和所有,但我仍然看不到GetWebResponse()。我不知道我錯過了什麼。 – capdragon 2011-03-30 21:00:46

+1

@capdragon,我在上面添加了一些說明。一個你得到這部分完成後,請務必重新閱讀你鏈接到的文章,瞭解如何使用它。 – 2011-03-30 21:58:40

+0

謝謝,我感謝您的耐心並花時間。對所有評論/回答+1。 – capdragon 2011-03-31 13:15:59