保留BizTalk出站自定义标头中的换行符

时间:2019-03-21 15:20:19

标签: soap biztalk saml biztalk-2013

我收到了标头中带有SAML安全票证的消息。 此票证必须在呼出电话中发送,且无任何更改。 在BizTalk业务流程中,我将此设置为我发送的消息的出站自定义标头。 收到的安全票包含带有换行符(CR + LN)的标签,如下所示:

<SignedInfo>
<OtherTag/>
<SomeTag>ABC</SomeTag>
</SignedInfo>

我正在设置包含以下换行符的出站标题:

MessageOut(WCF.OutboundCustomHeaders) = < string with header >

问题是,当WCF-Custom适配器使用标头和正文组装完整的SOAP请求时,将删除标记之间的这些换行符:

<SignedInfo><OtherTag/><SomeTag>ABC</SomeTag></SignedInfo>

这将导致票证无效并被拒绝。

是否有关于如何保留这些换行符的想法?

1 个答案:

答案 0 :(得分:0)

因此,问题不在于您,您的应用程序或BizTalk Server。这是使用Xml的另一项服务,然后不遵循Xml规则。不幸的是,他们使它成为您以及其他所有客户的解决问题。

不要编写自定义c#类来处理这种通信,这只会造成更多问题。

首先,尝试将令牌插入标头的自定义WCF行为或消息检查器