2010-08-18 100 views
1

我已經在Google中搜索了很多。 我在客戶端創建了一個EntityClass,然後我在Web Service端添加了這個類的庫引用。但是,當我要調用該方法,它顯示了這個錯誤:如何將對象傳遞給Web服務?

Error 2 Argument 1: cannot convert from 'Services_Library.UserService.UserServiceSoapClient' to 'Services_Library.UserService.UserEntity'

這裏是代碼,這種方法是從用戶界面稱爲:

public UserEntity test(UserEntity userEntityx) 
    { 
     UserService.UserServiceSoapClient userService = new UserService.UserServiceSoapClient(); 
     userService.testUserAsync(new UserEntity()); 
    } 

我認爲我們可以做到這一點不明確序列化,對吧?如果是這樣,我更喜歡這種方式。

+0

您使用.asmx或wcf服務嗎? – Mark 2010-08-18 17:34:12

回答

1

我認爲問題在於當你實際調用服務時,你傳遞的是serviceReference而不是該調用接受的對象。我認爲它應該看起來像這樣:

public UserEntity test(UserEntity userEntityX) 
{ 
    var userService = new UserService.UserServiceSoapClient(); 
    return userService.testUser(userEntityX); 
} 

沒有明確的序列化需要。

另外,請記住,如果您調用該方法的異步版本,則代碼將變得更加複雜。我在我的例子中使用了同步版本。

+0

你們,我知道那個異步。 對不起,我的真實代碼是這樣的,仍然不起作用: public UserEntity test(UserEntity userEntityx) UserService.UserServiceSoapClient userService = new UserService.UserServiceSoapClient(); userService.testUserAsync(new UserEntity()); } – Alan 2010-08-18 17:42:41

+0

如果是這樣的話,那麼你得到的編譯錯誤沒有任何意義。你確定這是你的確切/完整的代碼嗎? – 2010-08-18 17:48:11

+0

啊男人,這不作SENCE給我=/ 正如我所說,這只是代碼生成錯誤: 公共UserEntity測試(UserEntity userEntityx) {UserService.UserServiceSoapClient userService =新UserService.UserServiceSoapClient(); userService.testUserAsync(new UserEntity()); } – Alan 2010-08-18 19:04:12

相關問題