0
我正在嘗試記錄正在發送和接收的原始SOAP消息。我有一個SoapExtension
,一切正常工作正常,但有一個問題,但。我們使用WS-DeathStars的加密和消息簽名,因此記錄的內容是加密的SOAP消息。我需要的是找到一種方法,在消息解密擴展之後和消息加密例程之前立即插入我的SoapExtension
。我怎麼做?在WSE中記錄未加密的SOAP消息
我正在嘗試記錄正在發送和接收的原始SOAP消息。我有一個SoapExtension
,一切正常工作正常,但有一個問題,但。我們使用WS-DeathStars的加密和消息簽名,因此記錄的內容是加密的SOAP消息。我需要的是找到一種方法,在消息解密擴展之後和消息加密例程之前立即插入我的SoapExtension
。我怎麼做?在WSE中記錄未加密的SOAP消息
好的,我明白了。這可以通過實施自定義SoapFilter
來解決,這應該是過濾鏈中的第一個:
public class TraceAssertion : PolicyAssertion
{
public override SoapFilter CreateClientInputFilter(FilterCreationContext context)
{
return new SoapTraceFilter();
}
public override SoapFilter CreateClientOutputFilter(FilterCreationContext context)
{
return new SoapTraceFilter();
}
public override SoapFilter CreateServiceInputFilter(FilterCreationContext context)
{
return null;
}
public override SoapFilter CreateServiceOutputFilter(FilterCreationContext context)
{
return null;
}
}
public class SoapTraceFilter : SoapFilter
{
public override SoapFilterResult ProcessMessage(SoapEnvelope envelope)
{
envelope.Save("c:\\log\\" + DateTime.Now.Ticks + ".soap.xml");
return SoapFilterResult.Continue;
}
}