2010-09-29 166 views
0

我有以下代碼:Web服務方法返回響應對象,而不是自定義對象

[WebMethod] 
    [SoapHeader("_webServiceAuth")] 
    public User GetUser(string username) 
    { 
     try 
     { 
      this._validationMethods.Validate(_webServiceAuth); 
      User user = new User(username); 

      return user; 
     } 
     catch (Exception ex) 
     { 
      throw ex; 
     } 
    } 

正如你可以看到,人們會期望得到一個用戶,當我做了性反應:

myUser = this.Service.GetUser(username); 

但我得到的是一個「GetUserRequest」實例的請求,並返回一個「GetUserResponse」實例。任何幫助,爲什麼我的對象不是由我的web服務發送?

+2

您應該刪除該try/catch塊。除了引發異常時,它什麼也不做,除非搞亂你的堆棧。它看起來像是來自「throw」聲明的異常。 – 2010-09-30 19:29:44

+0

的確,這正是我們正在做的事情,每當發生這種事時,我都會感到失落!感謝您的提示:) – FelixMM 2010-10-02 23:14:36

回答

2

你會發現GetUserRequest對象有一個字符串屬性(username),而GetUserResponse對象包含你的User對象。這些Request/Response對象是存在於SOAP消息中的容器。

我相信他們通常會被抽象出來,但我可能會誤解。

+0

感謝您的答覆,但我沒有看到我的用戶對象內GetUserResponse。更新:忘記最後的評論,發現它xD – FelixMM 2010-09-29 04:35:21

相關問題