如何将对象传递给Web服务?

时间:2010-08-18 17:31:12

标签: c# web-services

我已经在谷歌搜索了很多。 我在客户端创建了一个EntityClass,然后我在Web Service端添加了这个类的库引用。但是当我想调用该方法时,它会显示以下错误:

  

错误2参数1:无法转换   从   'Services_Library.UserService.UserServiceSoapClient'   至   'Services_Library.UserService.UserEntity'

这是代码,这个方法是从用户界面调用的:

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

我认为我们可以在没有明确序列化的情况下做到这一点,对吧?如果是这样,我更喜欢这种方式。

1 个答案:

答案 0 :(得分:1)

我认为问题是当你实际调用服务时,你传入的是serviceReference,而不是调用接受的对象。我认为应该看起来像:

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

无需显式序列化。

另外,请记住,如果您正在调用该方法的Async版本,那么您的代码将变得更加复杂。我在我的例子中使用了同步版本。