ServiceStack Soap检索Soap报头
本文关键字:Soap 报头 检索 ServiceStack | 更新日期: 2023-09-27 18:17:32
我需要从到我的服务的传入消息中提取soap Header属性。我正在使用服务堆栈,一直在寻找,找不到一个好的答案。谁能告诉我如何从请求对象检索SOAP头属性?
这是我的服务
public class NotificationServices : Service
{
public GetAccountNotificationResponse Any (GetAccountNotification request)
{
//Do Some stuff Here!!!
//Need to retrieve some header here
}
}
任何帮助将不胜感激。如果你知道这是不可能的,也请告诉我。
谢谢
在最新版本的ServiceStack v3.9.49中,您可以使用IHttpRequest.GetSoapMessage()
扩展方法访问请求SOAP消息(用于SOAP请求),例如:
public class NotificationServices : Service
{
public GetAccountNotificationResponse Any (GetAccountNotification request)
{
//Do Some stuff Here!!!
var requestSoapMessage = base.Request.GetSoapMessage();
}
}
来自序列化/反序列化wiki:
您可以访问原始的WCF消息时,访问SOAP端点在您的服务与IHttpRequest.GetSoapMessage()
扩展方法,例如:
Message requestMsg = base.Request.GetSoapMessage();
告诉ServiceStack完全跳过SOAP请求的反序列化,将IRequiresSoapMessage
接口添加到您的请求DTO,例如:
public class RawWcfMessage : IRequiresSoapMessage {
public Message Message { get; set; }
}
public object Post(RawWcfMessage request) {
request.Message... //Raw WCF SOAP Message
}