2011-07-13 71 views
0

我有一個選項卡控件。第一個選項卡有一個網格,其中一列是複選框。用戶選擇它並單擊選項卡下的「下一步」,然後轉到下一個選項卡。SoapException在Web服務

我正在使用Web引用來獲取值。當頁面第一次加載時,參考工作和值可以達到,網格被綁定。

但是,當我點擊「下一步」,發生回發,它試圖再次綁定網格,然後參考給出「SoapExpection」。下面是詳細介紹:

- >我選擇一行,然後單擊 「下一步」:

protected void gridView_HtmlRowCreated(object sender, ASPxGridViewTableRowEventArgs e) 
     { 
      if (e.RowType == GridViewRowType.Data) 
      { 
        //bla bla bla 
        //I get the error here: 
        ClassEntity tmpObjects = webService.callObjects(rowID); 
        //bla bla bla 
      { 
     { 

- >和函數命名callObjects(INT ID)(在Reference.cs)

[System.Web.Services.Protocols.SoapDocumentMethodAttribute("...", RequestNamespace="...", ResponseNamespace="...", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] 
     public ClassEntity callObjects(int ID) { 
      object[] results = this.Invoke("callObjects", new object[] { 
         ID}); 
      return ((ClassEntity)(results[0])); 

確切的錯誤: 「SoapException:服務器無法處理請求。對象引用未設置爲對象的實例」

任何想法,建議或...解決方案?提前致謝。

回答

1

我正在使用用戶名和密碼來訪問從System.Web.Services.Protocols.SoapHeader繼承的類中的Web引用。

我在Page_Load中定義了用戶名和密碼,但似乎是在點擊「下一步」後清除了這些值。所以我做了gridView_HtmlRowCreated事件下的相同的declerations,並且它工作。

希望能幫助像我這樣的人。