Alan
Alan

Reputation: 189

How to pass an object to a web service?

I already searched a lot in Google. I created a EntityClass on client side, and then I added the library reference of this class on Web Service side. But when I want to call the method, it shows this error:

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

here is the code, this method is called from a User Interface:

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

I think we can do this without explicit serialization, right? If so, I prefer this way.

Upvotes: 1

Views: 933

Answers (1)

Justin Niessner
Justin Niessner

Reputation: 245429

I think the problem is when you actually call the service, you're passing in the serviceReference and not the object that the call accepts. I think it should look something like:

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

No explicit serialization needed.

Also, keep in mind that if you're calling the Async version of the method you're code is going to become more complicated. I used the synchronous version in my example.

Upvotes: 1

Related Questions