Наследование схемы в BizTalk Server

Мне просто интересно, пробовал ли кто-нибудь сделать что-то вроде наследования схемы в схемах BizTalk?

Я использую адаптер WCF и использую «службу адаптера потребления» для автоматического создания схемы, я хотел вместо того, чтобы всегда создавать схему, и, поскольку большая часть моей схемы одинакова, я хочу иметь что-то вроде базовой схемы.

У меня есть этот сценарий, когда я тестирую дебатирование плоских файлов, для дебатирования мне нужно установить для свойства maxoccur схемы значение «1», но для пакетной обработки оно должно быть «*», вместо создания двух разных схем, которые я хочу просто создайте базовую схему и наследуйте от нее, а затем измените свойство maxoccur в производной схеме.

Любая помощь будет оценена по достоинству.

Огромное спасибо


person aggallentes    schedule 05.04.2010    source источник
comment
Кстати, я думаю, вам придется сделать это наоборот. Все документы, действительные в соответствии с производной схемой, должны быть действительными в соответствии с базовой схемой. База может допускать множество элементов, а производные — только один, но не наоборот.   -  person John Saunders    schedule 05.04.2010
comment
Привет, Джон. Спасибо за ответ, но я не совсем понимаю ваш ответ, не могли бы вы объяснить его подробно? Мой пример был прост только тем, что у меня есть базовая схема, и из моей производной схемы (импортированной) я изменил свойство maxoccur на «*», но когда я попытался протестировать его с помощью инструмента FFDasm, он выдает исключение, чем элемент (тип структуры данных элемента импортированная схема) не объявляется. Спасибо   -  person aggallentes    schedule 05.04.2010


Ответы (1)


Можете ли вы обернуть свою базовую схему? Затем вы можете заставить конвейер выполнять дебатирование за вас .... определить структуру конверта с любым «любым» повторением внутри него.

<?xml version="1.0" encoding="utf-16" ?>
<xs:schema xmlns:b="http://schemas.microsoft.com/BizTalk/2003">
xmlns="urn:SomeProject:Schemas:1.0" targetNamespace="urn:SomeProject:Schemas:1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:annotation>
<xs:appinfo>
<b:schemaInfo is_envelope="yes" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" />
</xs:appinfo>
</xs:annotation>
<xs:element name="Envelope">
<xs:annotation>
<xs:appinfo>
<b:recordInfo body_xpath="/*[local-name()='Envelope' and namespace-uri()='urn:SomeProject:Schemas:1.0']" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
**<xs:any />** 
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

затем добавьте в коллекцию в XMLDisassemble конвейера...

person silverbugg    schedule 15.04.2010