首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ServiceStack Soap检索Soap标头

ServiceStack Soap检索Soap标头
EN

Stack Overflow用户
提问于 2013-06-10 12:53:29
回答 1查看 454关注 0票数 1

我需要从传入我的服务的消息中提取soap标头属性。我正在使用服务堆栈,并且一直在四处寻找,但在任何地方都找不到一个好的答案。谁能告诉我如何从请求对象中检索SOAP标头属性?

这是我的服务

代码语言:javascript
复制
public class NotificationServices : Service
{
    public GetAccountNotificationResponse Any (GetAccountNotification request)
    {
         //Do Some stuff Here!!!
         //Need to retrieve some header here
    }
}

任何帮助都将不胜感激。如果你知道这是不可能的,也请让我知道。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-10 14:49:44

在最新版本的ServiceStack v3.9.49中,您可以使用IHttpRequest.GetSoapMessage()扩展方法访问请求SOAP消息(对于SOAP请求),例如:

代码语言:javascript
复制
public class NotificationServices : Service
{
    public GetAccountNotificationResponse Any (GetAccountNotification request)
    {
         //Do Some stuff Here!!!
         var requestSoapMessage = base.Request.GetSoapMessage();
    }
}

Serialization / Deserialization wiki

在使用IHttpRequest.GetSoapMessage()扩展方法访问您的服务中的SOAP端点时,您可以访问原始的WCF消息,例如:

代码语言:javascript
复制
Message requestMsg = base.Request.GetSoapMessage();

要告诉ServiceStack完全跳过对SOAP请求的反序列化,请将IRequiresSoapMessage接口添加到请求DTO中,例如:

代码语言:javascript
复制
public class RawWcfMessage : IRequiresSoapMessage {
    public Message Message { get; set; }
}

public object Post(RawWcfMessage request) { 
    request.Message... //Raw WCF SOAP Message
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17017074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档