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

我有以下代码:

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

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

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