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

问题描述 投票:0回答:1

我收到标题中带有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>

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

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

soap biztalk saml biztalk-2013
1个回答
0
投票

所以,问题不是你,你的应用程序或BizTalk Server。这是使用Xml的其他服务,然后不遵循Xml规则。不幸的是,他们已经成功解决了你的问题和其他客户的问题。

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

首先,尝试将标记注入标头的自定义WCF行为或消息检查器。

© www.soinside.com 2019 - 2024. All rights reserved.