我收到了标头中带有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>
这将导致票证无效并被拒绝。
是否有关于如何保留这些换行符的想法?
答案 0 :(得分:0)
因此,问题不在于您,您的应用程序或BizTalk Server。这是使用Xml的另一项服务,然后不遵循Xml规则。不幸的是,他们使它成为您以及其他所有客户的解决问题。
不要编写自定义c#类来处理这种通信,这只会造成更多问题。
首先,尝试将令牌插入标头的自定义WCF行为或消息检查器。