BizTalkで処理するために大量のXMLが渡されています。xmlは主に次の形式です。
<FieldItem>
<Name>EmploymentStatus</Name>
<Value xsi:type="xsd:string">1</Value>
</FieldItem>
ただし、名前と値のペアがより複雑になり、次のようになる場合があります。
<FieldItem>
<Name>EducationAndQualifications</Name>
<Value xsi:type="RepeatingFieldArray">
<Fields>
<RepeatingField>
<Items>
<FieldItem>
<Name>Qualification</Name>
<Value xsi:type="xsd:string">umbraco</Value>
</FieldItem>
<FieldItem>
<Name>Establishment</Name>
<Value xsi:type="xsd:string">IBM</Value>
</FieldItem>
<FieldItem>
<Name>DateAchieved</Name>
<Value xsi:type="xsd:string">June 2011</Value>
</FieldItem>
</Items>
</RepeatingField>
</Fields>
</Value>
</FieldItem>
BizTalks Generated Items Wizardを使用してスキーマを生成しようとしましたが、タイプの変更と、そこにある場合とない場合がある追加の繰り返しフィールドに対応できません。
だから私はこれを前進させる最善の方法についてのアドバイス/ガイダンスを探しています。BizTalkがこれを処理したいスキーマを作成することは可能ですか?または、現時点で私が好んでいるソリューションですが、これを個別のメッセージに分割するカスタムパイプラインコンポーネントを作成する必要がありますか?
御時間ありがとうございます。
アップデート
次のスキーマを作成した場合:
<?xml version="1.0" encoding="utf-16" ?>
<xsd:schema xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="FormData">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="FormName" type="xsd:string" />
<xsd:element name="FormInstanceId" type="xsd:string" />
<xsd:element name="Status" type="xsd:string" />
<xsd:element name="Data">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="FieldItem">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Name" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="Value" nillable="true" type="xsd:anyType" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
次のエラーが発生します。
これは無効なxsi:type'RepeatingFieldArray'です
だから私はまだこれをすべて整理するためにいくつかのコードを書くことに傾いています...。