Как предварительно обработать файл привязок с помощью возврата каретки для BizTalk

У меня есть XML-файл привязок для BizTalk, порты WCF-WebHttp который в основном для вызова услуг отдыха.

Такие порты имеют HttpHeaders поле, где вы обычно ставите:

Authorization: Basic ThenTHeToken
ContentType: application/json

При проверке с инфраструктурой развертывания BizTalk и предварительной обработки привязок,

Это сгенерированный XML, где вы можете увидеть после токена на предъявителя, на самом деле есть разрыв строки

<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.

Есть идеи, как добавить разрыв строки?

2 ответа

      & lt;HttpHeaders vt="8"& gt;X-API-Key: ${XpertDocBulkCNToken} & #xA; Content-Type: application/json& lt;/HttpHeaders& gt;

Вышеупомянутое сработало для меня.

Я только что добавил пробел() после каждого &, чтобы синтаксический анализатор не обнаруживал xml.

Несмотря на то, что в консоли администратора BizTalk вы не сможете увидеть символ новой строки, BizTalk может определить два заголовка HTTP и отправить их.

Я столкнулся с той же проблемой и решил ее, добавив следующий разделитель между заголовками: WhiteSpace + & # xa; + WhiteSpace в вашем случае:

Авторизация: Basic ThenTHeToken Тип содержимого: приложение/json

NB: я добавил пробелы между символами, чтобы избежать декодирования здесь.

Другие вопросы по тегам