2016-07-01 5 views
1

У меня есть сценарий, когда мне нужно отправить JSON через динамический порт отправки. По этой причине я создал почтовый конвейер с кодировщиком JSON с опцией Remove Outer Envelope = true.BizTalk Json encoder и динамические порты

У меня есть конвейер, связанный с моим динамическим портом, и на конвейере есть как XML-ассемблер, так и Json-кодер (я также пробовал без ассемблера xml, и результат был таким же).

Мои построить форму для сообщения запроса имеет следующий код:

varXml.LoadXml(
"<ns0:DataMigrationRequest xmlns:ns0=\"http://temp">"+ 
    "<ns0:DataSets>Local Products</ns0:DataSets>"+ 
    "<ns0:Country>Spain</ns0:Country>"+ 
    "</ns0:DataMigrationRequest>" 
); 

msgRequest = varXml; 

msgRequest(WCF.SuppressMessageBodyForHttpVerbs)="POST"; 
msgRequest(WCF.TransportClientCredentialType) = "None"; 
msgRequest(WCF.AlgorithmSuite) = "Default"; 
msgRequest(WCF.SecurityMode)="Transport"; 
msgRequest(WCF.HttpMethodAndUrl)[email protected]"POST"; 
msgRequest(BTS.IsDynamicSend) = true; 

msgRequest(WCF.BindingType)="customBinding"; 
msgRequest(WCF.Action)=""; 
msgRequest(WCF.BindingConfiguration)[email protected]"<binding name=""customBinding""><httpsTransport /></binding>"; 

msgRequest(WCF.EndpointBehaviorConfiguration) = @" 
<behavior name=""customBehavior""> 
    <CustomBehavior /> 
</behavior>"; 

Dynamic_Port(Microsoft.XLANGs.BaseTypes.Address) =  System.String.Format("https://localhost/temp"); 
Dynamic_Port(Microsoft.XLANGs.BaseTypes.TransportType)="WCF-Custom"; 

Каждый раз, когда я пытаюсь отправить сообщение, я получаю ошибку:

Error details: System.Xml.XmlException: Data at the root level is invalid.

Если я заменил динамический порт по статическому порту все работает, и я могу отправить сообщение, как ожидалось. Это просто не работает, я отправляю динамику.

Уверены, что чего-то не хватает, у кого-нибудь есть подсказки, которые могли бы помочь?

+0

Какая версия BizTalk? – Dijkgraaf

+0

Также вы пробовали его только с помощью ассемблера XML в конвейере? Если это то, что бросает ошибку, то это проблема с этим. – Dijkgraaf

+0

Версия BizTalk 2013 R2. Только с XML-ассемблером у меня нет никаких проблем. – Ricardo

ответ

0

Я думаю, что я решил проблему. Похоже, что WCF-Custom может работать только с XML-сообщениями, поэтому я заменил WCF-WebHttp.

 Смежные вопросы

  • Нет связанных вопросов^_^