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消息中存在的容器。
我相信它们通常是抽象的,但我可能会弄错。