我必须通过 BizTalk 连接 REST 服务。该服务返回一个 JSON 响应,如下所示。当 BizTalk 响应端口尝试解码 JSON 消息时,我收到有关 JSON 到 XML 转换的错误。发生此错误是因为 JSON 消息中嵌入了 HTML 标记。
错误:
(执行响应(接收)管道失败:“Avansas.Paritus.Suggest.T.JSONReceive,Avansas.Paritus.Suggest.T,版本=1.0.0.0,文化=中性,PublicKeyToken=7b2984270a9ffd13”来源:“JSON解码器”发送端口:“Avansas.Ibrahim.Suggest.T.SendPort”URI:“api1.test.com/services/rest”;原因:解析值时遇到意外字符:<。路径'',第0行,位置0 . )
例如:
如下响应消息在 JSON 中有一个标签元素。Label 元素有一个带有 html 标记 ( City ) 的文本,这就是为什么当 BizTalk 尝试将 JSON 转换为 XML 时出现错误的原因。我认为 BizTalk 尝试将 JSON 转换为图 2,但我想将其转换为图 3。
我该如何解决这个问题?
有没有办法在没有任何架构的情况下通过编排传输?
图1
{
"suggestion": [
{
"id": "[31 31 31 30 30 39]",
"label": "Global <b>City</b> 2. Etap Global <b>Cıty</b> ",
"value": "Global <b>City</b> 2. Etap Villaları "
},
{
"id": "[39 33 36 32 35 36]",
"label": "<b>City</b> Aqua Villas Sk. Kuşadası Aydın",
"value": "<b>City</b> Aqua Villas Sk. Kuşadası Aydın"
}
]
}
图 2:
<root>
<suggestion>
<id>[31 31 31 30 30 39]</id>
<label>Global
<b>City</b> 2. Etap Global
<b>Cıty</b>
</label>
<value>Global
<b>City</b> 2. Etap Villaları
</value>
</suggestion>
<suggestion>
<id>[39 33 36 32 35 36]</id>
<label>
<b>City</b> Aqua Villas Sk. Kuşadası Aydın
</label>
<value>
<b>City</b> Aqua Villas Sk. Kuşadası Aydın
</value>
</suggestion>
</root>
图 3:
<root>
<suggestion>
<id>[31 31 31 30 30 39]</id>
<label>Global
<b>City</b> 2. Etap Global
<b>Cıty</b>
</label>
<value>Global
<>City</b> 2. Etap Villaları
</value>
</suggestion>
<suggestion>
<id>[39 33 36 32 35 36]</id>
<label>
<b>City</b> Aqua Villas Sk. Kuşadası Aydın
</label>
<value>
<b>City</b> Aqua Villas Sk. Kuşadası Aydın
</value>
</suggestion>
</root>
我的服务也可以返回 xml 响应,当我尝试处理 xml 响应时出现以下错误。
XML 错误执行响应(接收)管道失败:“Microsoft.BizTalk.DefaultPipelines.XMLReceive,Microsoft.BizTalk.DefaultPipelines,Version=3.0.1.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”来源:“XML 反汇编程序”发送端口:“aaa.bbb.Suggest.T.SendPort” URI:“ https://api1.test.com/services/rest ” 原因:通过消息类型“html”查找文档规范失败。验证正确部署的架构
和响应xml如下图
<?xml version="1.0" encoding="UTF-8"?>
<suggestions>
<suggestion>
<id>111011</id>
<label>Global <b>Cıty</b> 1. Etap Vıllaları Sokak</label>
<value>Global Cıty 1. Etap Vıllaları Sokak</value>
</suggestion>
<suggestion>
<id>111009</id>
<label>Global <b>Cıty</b> 2. Etap Vıllaları Sokak</label>
<value>Global Cıty 2. Etap Vıllaları Sokak</value>
</suggestion>
</suggestions>