2

我有一个 BizTalk 的绑定 XML 文件,端口 WCF-WebHttp基本上是用于调用休息服务。

这些类型的端口有一个HttpHeaders通常放置的字段:

Authorization: Basic ThenTHeToken
ContentType: application/json

当检查 BizTalk 部署框架并预处理绑定时,

这是生成的XML,在bearer token后面可以看到,其实有个Line Break

<TransportTypeData>
          &lt;CustomProps&gt;&lt;ServiceCertificate vt="8" /&gt;&lt;HttpMethodAndUrl vt="8"&gt;POST&lt;/HttpMethodAndUrl&gt;&lt;MaxReceivedMessageSize vt="3"&gt;65536&lt;/MaxReceivedMessageSize&gt;&lt;ClientCertificate vt="8" /&gt;&lt;ProxyUserName vt="8" /&gt;&lt;UseAcsAuthentication vt="11"&gt;0&lt;/UseAcsAuthentication&gt;&lt;SuppressMessageBodyForHttpVerbs vt="8" /&gt;&lt;VariablePropertyMapping vt="8"&gt;&amp;lt;BtsVariablePropertyMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" /&amp;gt;&lt;/VariablePropertyMapping&gt;&lt;SecurityMode vt="8"&gt;Transport&lt;/SecurityMode&gt;&lt;ProxyToUse vt="8"&gt;Default&lt;/ProxyToUse&gt;&lt;EndpointBehaviorConfiguration vt="8"&gt;&amp;lt;behavior name="EndpointBehavior" /&amp;gt;&lt;/EndpointBehaviorConfiguration&gt;&lt;TransportClientCredentialType vt="8"&gt;None&lt;/TransportClientCredentialType&gt;&lt;OpenTimeout vt="8"&gt;00:01:00&lt;/OpenTimeout&gt;&lt;UseSSO vt="11"&gt;0&lt;/UseSSO&gt;&lt;UseSasAuthentication vt="11"&gt;0&lt;/UseSasAuthentication&gt;&lt;CloseTimeout vt="8"&gt;00:01:00&lt;/CloseTimeout&gt;&lt;SendTimeout vt="8"&gt;00:01:00&lt;/SendTimeout&gt;&lt;HttpHeaders vt="8"&gt;Authorization: Basic bearertoken=
          Content-Type: application/json&lt;/HttpHeaders&gt;&lt;/CustomProps&gt;
        </TransportTypeData>

但是,将绑定导入 BizTalk 应用程序时,然后在输出标题上,换行符丢失,并且 BizTalk 将授权和内容类型放在同一行,然后失败。

我无法手动解决此问题,因为在其他环境中,部署是通过 Azure DevOps 自动完成的。

知道如何添加换行符吗?

4

1 回答 1

0

我遇到了同样的问题,我在标题之间添加了以下分隔符来解决它: WhiteSpace + & # xa; + WhiteSpace 在您的情况下:

授权:Basic ThenTHeToken 内容类型:应用程序/json

注意:我在字符之间添加了空格以避免在这里解码

于 2020-12-17T18:07:48.920 回答