Web服务方法返回Response对象而不是自定义对象

时间:2010-09-29 01:39:45

标签: c# asp.net web-services

我有以下代码:

    [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服务没有发送我的对象的任何帮助?

1 个答案:

答案 0 :(得分:2)

您会发现GetUserRequest对象具有字符串属性(用户名),而GetUserResponse对象包含您的User对象。这些请求/响应对象是SOAP消息中存在的容器。

我相信它们通常会被抽象掉,但我可能会弄错。