[英]BizTalk JSON Deserialize
我必須通過BizTalk連接REST服務。 該服務返回JSON響應,如下所示。 當BizTalk響應端口嘗試解碼JSON消息時,我收到有關JSON到XML轉換的錯誤。 由於JSON消息中嵌入了HTML標記,因此發生此錯誤。
錯誤:
(執行響應(接收)管道失敗:“Avansas.Paritus.Suggest.T.JSONReceive,Avansas.Paritus.Suggest.T,Version = 1.0.0.0,Culture = neutral,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>
使用此架構:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://BizTalk_Server_Project1.JSONSchema1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Root">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="suggestion">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="id" type="xs:string" />
<xs:element minOccurs="0" name="label" type="xs:string" />
<xs:element minOccurs="0" name="value" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
而這條管道:
生成此消息:
<ns0:Root xmlns:ns0="http://BizTalk_Server_Project1.JSONSchema1">
<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>
</ns0:Root>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.