| Author |
Mapping is not working
|
|
| jimadams@millard.com 2006-02-14, 5:51 pm |
| I have a mapping created for an orchestration. It maps an XML file to
a comma delimited flat file. At one time the map worked when it was
applied to the send port of my orchestration. When I went back to it
after a couple weeks of not working on it, the mapping did not work.
It outputs a comma delimited flat file but there is no data. I tried
putting the mapping in the orchestration and I get the same results.
When I tested the mapping I got the following error: Native
serialization error: The path is not of a legal form. However, I get
an xml file outputted that has all the data in it and has the structure
of the flat file except it is in xml format instead of the flat file
format (I have the output set to Native). I am including the schemas
for the xml and the flat file. Any help or insight would be greatly
appreciated.
INPUT XML FILE
<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns="http://DMEXLoad.Schemas.DMEUpLoadRecv"
xmlns:b="http://schemas.microsoft.com/BizTalk/2003"
targetNamespace="http://DMEXLoad.Schemas.DMEUpLoadRecv"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="DMEUpLoadRoot">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="OrderRec">
<xs:complexType>
<xs:sequence>
<xs:element name="TransmissionBatchDate">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ListName">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="MailerName">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="BrokerOrderNumber">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="QtyShipped">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ShippedVia">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ShippedDate">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Waybill">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="MaterialShipped">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="VolumeSerialNumber">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ShippingCharge">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="MailDate">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="OrderSelect">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="QtyOrdered">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="OwnrMgrPoNumber">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="DateOrderReceived">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="OwnerMgrContactName">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="OwnerMgrContactPhone">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="OwnerMgrContactEmail">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="MGIOrderNumber">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="MGISalesman">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="MGIListNumber">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="MGIOwner">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="MGIEndUser">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="MGIClient">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="RowID">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="BatchNumber">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="DateShippingEntered">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ShippingEnteredBy">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="RecordType" type="xs:string"
use="required" />
<xs:attribute name="CompanyAcronym" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
OUTPUT FLAT FILE
<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns="http://DMEXLoad.Schemas.ALCShippingReceivedCSV"
xmlns:b="http://schemas.microsoft.com/BizTalk/2003"
targetNamespace="http://DMEXLoad.Schemas.ALCShippingReceivedCSV"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:annotation>
<xs:appinfo>
<schemaEditorExtension:schemaInfo namespaceAlias="b"
extensionClass="Microsoft.BizTalk.FlatFileExtension.FlatFileExtension"
standardName="Flat File"
xmlns:schemaEditorExtension="http://schemas.microsoft.com/BizTalk/2003/SchemaEditorExtensions"
/>
<b:schemaInfo count_positions_by_byte="false" standard="Flat
File" default_child_order="prefix" root_reference="ShippingOrders" />
</xs:appinfo>
</xs:annotation>
<xs:element name="ShippingOrders">
<xs:annotation>
<xs:appinfo>
<b:recordInfo structure="delimited" sequence_number="1"
preserve_delimiter_for_empty_data="true"
suppress_trailing_delimiters="true" child_delimiter_type="hex"
child_delimiter="0x0D 0x0A" child_order="postfix" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:annotation>
<xs:appinfo>
<b:groupInfo sequence_number="0" />
</xs:appinfo>
</xs:annotation>
<xs:element minOccurs="1" maxOccurs="unbounded"
name="OrderDetail">
<xs:annotation>
<xs:appinfo>
<b:recordInfo structure="delimited"
preserve_delimiter_for_empty_data="true"
suppress_trailing_delimiters="true" sequence_number="1"
child_delimiter_type="char" child_delimiter="," child_order="infix" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:annotation>
<xs:appinfo>
<b:groupInfo sequence_number="0" />
</xs:appinfo>
</xs:annotation>
<xs:element name="RecordType" type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="1"
justification="left" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="TransmissionBatchDateTime"
nillable="true" type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="2"
justification="left" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="ListName" type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="3"
justification="left" wrap_char_type="char" wrap_char=""" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="MailerName" type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="4"
justification="left" wrap_char_type="char" wrap_char=""" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="BrokersOrderNumber" type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="5"
justification="left" wrap_char_type="char" wrap_char=""" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="QuantityShipped" nillable="true"
type="xs:int">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="6"
justification="left" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="ShippedVia" nillable="true"
type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="7"
justification="left" wrap_char_type="char" wrap_char=""" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="ShippedDate" nillable="true"
type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="8"
justification="left" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="WayBillAirBill" nillable="true"
type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="9"
justification="left" wrap_char_type="char" wrap_char=""" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="MaterialShipped" nillable="true"
type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="10"
justification="left" wrap_char_type="char" wrap_char=""" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="VolumeSerialNumber" nillable="true"
type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="11"
justification="left" wrap_char_type="char" wrap_char=""" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="ShippingCharge" nillable="true"
type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="12"
justification="left" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="MailDate" type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="13"
justification="left" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Select" nillable="true"
type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="14"
justification="left" wrap_char_type="char" wrap_char=""" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="QTYOrdered" nillable="true"
type="xs:int">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="15"
justification="left" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="OwnerManagerPONumber" type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="16"
justification="left" wrap_char_type="char" wrap_char=""" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="DateReceived" type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="17"
justification="left" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="OwnerManagerContactName"
type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="18"
justification="left" wrap_char_type="char" wrap_char=""" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="OwnerManagerContactPhone"
type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="19"
justification="left" wrap_char_type="char" wrap_char=""" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="OwnerManagerContactEmail"
type="xs:string">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo sequence_number="20"
justification="left" wrap_char_type="char" wrap_char=""" />
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Thanks in advance for your help!
Jim
| |
| BizWorld 2006-02-17, 10:50 pm |
| did u extend the Output schema for Flat file??
Regards,
BizWorld
<jimadams@millard.com> wrote in message
news:1139941330.792312.142280@g47g2000cwa.googlegroups.com...
>I have a mapping created for an orchestration. It maps an XML file to
> a comma delimited flat file. At one time the map worked when it was
> applied to the send port of my orchestration. When I went back to it
> after a couple weeks of not working on it, the mapping did not work.
> It outputs a comma delimited flat file but there is no data. I tried
> putting the mapping in the orchestration and I get the same results.
> When I tested the mapping I got the following error: Native
> serialization error: The path is not of a legal form. However, I get
> an xml file outputted that has all the data in it and has the structure
> of the flat file except it is in xml format instead of the flat file
> format (I have the output set to Native). I am including the schemas
> for the xml and the flat file. Any help or insight would be greatly
> appreciated.
>
> INPUT XML FILE
>
> <?xml version="1.0" encoding="utf-16"?>
> <xs:schema xmlns="http://DMEXLoad.Schemas.DMEUpLoadRecv"
> xmlns:b="http://schemas.microsoft.com/BizTalk/2003"
> targetNamespace="http://DMEXLoad.Schemas.DMEUpLoadRecv"
> xmlns:xs="http://www.w3.org/2001/XMLSchema">
> <xs:element name="DMEUpLoadRoot">
> <xs:complexType>
> <xs:sequence>
> <xs:element minOccurs="1" maxOccurs="1" name="OrderRec">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="TransmissionBatchDate">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="ListName">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="MailerName">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="BrokerOrderNumber">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="QtyShipped">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:integer" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="ShippedVia">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="ShippedDate">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="Waybill">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="MaterialShipped">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="VolumeSerialNumber">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="ShippingCharge">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:decimal" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="MailDate">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="OrderSelect">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="QtyOrdered">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:integer" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="OwnrMgrPoNumber">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="DateOrderReceived">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="OwnerMgrContactName">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="OwnerMgrContactPhone">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="OwnerMgrContactEmail">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="MGIOrderNumber">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="MGISalesman">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="MGIListNumber">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="MGIOwner">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="MGIEndUser">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="MGIClient">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="RowID">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:integer" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="BatchNumber">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="DateShippingEntered">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="ShippingEnteredBy">
> <xs:complexType>
> <xs:simpleContent>
> <xs:extension base="xs:string" />
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> </xs:sequence>
> <xs:attribute name="RecordType" type="xs:string"
> use="required" />
> <xs:attribute name="CompanyAcronym" type="xs:string" />
> </xs:complexType>
> </xs:element>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:schema>
>
> OUTPUT FLAT FILE
>
> <?xml version="1.0" encoding="utf-16"?>
> <xs:schema xmlns="http://DMEXLoad.Schemas.ALCShippingReceivedCSV"
> xmlns:b="http://schemas.microsoft.com/BizTalk/2003"
> targetNamespace="http://DMEXLoad.Schemas.ALCShippingReceivedCSV"
> xmlns:xs="http://www.w3.org/2001/XMLSchema">
> <xs:annotation>
> <xs:appinfo>
> <schemaEditorExtension:schemaInfo namespaceAlias="b"
> extensionClass="Microsoft.BizTalk.FlatFileExtension.FlatFileExtension"
> standardName="Flat File"
> xmlns:schemaEditorExtension="http://schemas.microsoft.com/BizTalk/2003/SchemaEditorExtensions"
> />
> <b:schemaInfo count_positions_by_byte="false" standard="Flat
> File" default_child_order="prefix" root_reference="ShippingOrders" />
> </xs:appinfo>
> </xs:annotation>
> <xs:element name="ShippingOrders">
> <xs:annotation>
> <xs:appinfo>
> <b:recordInfo structure="delimited" sequence_number="1"
> preserve_delimiter_for_empty_data="true"
> suppress_trailing_delimiters="true" child_delimiter_type="hex"
> child_delimiter="0x0D 0x0A" child_order="postfix" />
> </xs:appinfo>
> </xs:annotation>
> <xs:complexType>
> <xs:sequence>
> <xs:annotation>
> <xs:appinfo>
> <b:groupInfo sequence_number="0" />
> </xs:appinfo>
> </xs:annotation>
> <xs:element minOccurs="1" maxOccurs="unbounded"
> name="OrderDetail">
> <xs:annotation>
> <xs:appinfo>
> <b:recordInfo structure="delimited"
> preserve_delimiter_for_empty_data="true"
> suppress_trailing_delimiters="true" sequence_number="1"
> child_delimiter_type="char" child_delimiter="," child_order="infix" />
> </xs:appinfo>
> </xs:annotation>
> <xs:complexType>
> <xs:sequence>
> <xs:annotation>
> <xs:appinfo>
> <b:groupInfo sequence_number="0" />
> </xs:appinfo>
> </xs:annotation>
> <xs:element name="RecordType" type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="1"
> justification="left" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="TransmissionBatchDateTime"
> nillable="true" type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="2"
> justification="left" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="ListName" type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="3"
> justification="left" wrap_char_type="char" wrap_char=""" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="MailerName" type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="4"
> justification="left" wrap_char_type="char" wrap_char=""" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="BrokersOrderNumber" type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="5"
> justification="left" wrap_char_type="char" wrap_char=""" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="QuantityShipped" nillable="true"
> type="xs:int">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="6"
> justification="left" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="ShippedVia" nillable="true"
> type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="7"
> justification="left" wrap_char_type="char" wrap_char=""" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="ShippedDate" nillable="true"
> type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="8"
> justification="left" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="WayBillAirBill" nillable="true"
> type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="9"
> justification="left" wrap_char_type="char" wrap_char=""" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="MaterialShipped" nillable="true"
> type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="10"
> justification="left" wrap_char_type="char" wrap_char=""" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="VolumeSerialNumber" nillable="true"
> type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="11"
> justification="left" wrap_char_type="char" wrap_char=""" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="ShippingCharge" nillable="true"
> type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="12"
> justification="left" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="MailDate" type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="13"
> justification="left" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="Select" nillable="true"
> type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="14"
> justification="left" wrap_char_type="char" wrap_char=""" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="QTYOrdered" nillable="true"
> type="xs:int">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="15"
> justification="left" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="OwnerManagerPONumber" type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="16"
> justification="left" wrap_char_type="char" wrap_char=""" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="DateReceived" type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="17"
> justification="left" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="OwnerManagerContactName"
> type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="18"
> justification="left" wrap_char_type="char" wrap_char=""" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="OwnerManagerContactPhone"
> type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="19"
> justification="left" wrap_char_type="char" wrap_char=""" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> <xs:element name="OwnerManagerContactEmail"
> type="xs:string">
> <xs:annotation>
> <xs:appinfo>
> <b:fieldInfo sequence_number="20"
> justification="left" wrap_char_type="char" wrap_char=""" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:schema>
>
> Thanks in advance for your help!
>
> Jim
>
| |
| jimadams@millard.com 2006-02-17, 10:50 pm |
| Thanks for you reply BizWorld!
If you mean set the Schema Editor Extensions to be Flat File, I did do
that.
| |
| jimadams@millard.com 2006-02-17, 10:50 pm |
| I have managed to uncover some clues to what is going on. First of
all, the xml input is being received through a SQL Adapter. If I take
an xml file of the right format and bring it into the orchestration
through the File Adapter then the mapping works fine. If the xml comes
in through the SQL Adapter then the mapping does not work. Part of the
orchestration sends the input xml data out a send port using the file
adapter so I have a copy of the data as an audit trail. If I use that
file and bring it into the orchestration via the File Adapter then the
mapping works fine. Therefore, my problem with the mapping not working
is isolated to the SQL Adapter input. Any ideas why this would be the
case?
Thanks!
Jim
| |
| Greg Forsythe 2006-02-17, 10:50 pm |
| What pipelines are you using?
Greg
<jimadams@millard.com> wrote in message
news:1140036700.392861.91250@o13g2000cwo.googlegroups.com...
>I have managed to uncover some clues to what is going on. First of
> all, the xml input is being received through a SQL Adapter. If I take
> an xml file of the right format and bring it into the orchestration
> through the File Adapter then the mapping works fine. If the xml comes
> in through the SQL Adapter then the mapping does not work. Part of the
> orchestration sends the input xml data out a send port using the file
> adapter so I have a copy of the data as an audit trail. If I use that
> file and bring it into the orchestration via the File Adapter then the
> mapping works fine. Therefore, my problem with the mapping not working
> is isolated to the SQL Adapter input. Any ideas why this would be the
> case?
>
> Thanks!
> Jim
>
| |
| jimadams@millard.com 2006-02-17, 10:50 pm |
| I'm using a custom pipeline that uses the flat file assembler.
| |
| Greg Forsythe 2006-02-17, 10:50 pm |
| What pipelines are you using for input, from the SQL Adapter and the File
Adapter.
The receive pipeline determines the message type.
A pass-thru pipeline will not look at the message and does not determine the
message type
An Xml Receive pipeline will open the message and search for a schema
matching the message. It uses the root node name and target namespace to
find the schema. If it cannot find a matching schema an error will result.
A custom Flat File pipeline uses the defined schema set on the Flat File
assembler component
A map set on a send or recieve port it will only be actioned if the message
type matches its defined input message type.
So in your case, if the SQL adapter uses a pass thru pipeline and the FILE
adapter uses the Xml Receive pipeline you will get the results you are
seeing.
Another reason for strange and unpredictable errors can occur if assemblies
are redeployed without stopping and starting the Biztalk service.
Also if the map and schemas are in different assemblies, if one has changed
then there may be a mismatch.
I would check the receive location pipelines, restart the Biztalk Service
and retest.
Greg
<jimadams@millard.com> wrote in message
news:1140200742.048929.21940@g14g2000cwa.googlegroups.com...
> I'm using a custom pipeline that uses the flat file assembler.
>
| |
| jimadams@millard.com 2006-02-21, 5:51 pm |
| Thanks Greg for your input. I have made some progress in figuring this
problem out. First of all to answer your question I have the
XMLReceive pipeline on my Receive port. It is finding the correct
schema and everything.
What I figured out was that two of the data elements in the XML Schema
were attributes. I changed them to elements and the mapping started to
work fine. Part of how I have been testing this is by having an XML
file that is the same schema as what SQL Server generates and I dump
the file in a folder for the receive port to pick up. With the new
schema (i.e. no attributes, just elements) everything works great.
When I went to the SQL Server adapter I started to get blank files for
output. It looks like how the namespace is set up. Let me give you an
example...
If the root element looks like this
<ns0:DMEUpLoadRoot xmlns:ns0="http://DMEXLoad.Schemas.DMEUpLoadRecv">
I have no problems.
However, SQL Server returns the XML data like this
<DMEUpLoadRoot xmlns="http://DMEXLoad.Schemas.DMEUpLoadRecv">
and then I get a blank file. I tested this by using two files each
with one of the above namespaces. The results are just as I outlined
them above. I have seen this before and thought I had it working
correctly with the SQL Server adapter but I can't get it to work now.
Any ideas?
Thanks!!!
Jim
| |
| Greg Forsythe 2006-02-21, 5:51 pm |
| Jim,
The two root nodes are effectively the same:
<ns0:DMEUpLoadRoot xmlns:ns0="http://DMEXLoad.Schemas.DMEUpLoadRecv">
<DMEUpLoadRoot xmlns="http://DMEXLoad.Schemas.DMEUpLoadRecv">
and will treated identically by Biztalk. The first uses a prefixed namespace
while the second uses the default namespace.
However, subsequent nodes in the structure may look the same but will be
different e.g.
1.
<ns0:DMEUpLoadRoot xmlns:ns0="http://DMEXLoad.Schemas.DMEUpLoadRecv">
<record></record>
</ns0:DMEUpLoadRoot>
2.
<DMEUpLoadRoot xmlns="http://DMEXLoad.Schemas.DMEUpLoadRecv">
<record></record>
</DMEUpLoadRoot>
1. Here the record node has no namespace. Its xpath will be
/*[local-name()='DMEUpLoadRoot' and
namespace-uri()='http://DMEXLoad.Schemas.DMEUpLoadRecv'/*[local-name()='record'
and namespace-uri='']
or
/ns0:DMEUpLoadRoot/record
2. Here the record node is in the same namespace as the root node.
/*[local-name()='DMEUpLoadRoot' and
namespace-uri()='http://DMEXLoad.Schemas.DMEUpLoadRecv'/*[local-name()='record'
and namespace-uri='http://DMEXLoad.Schemas.DMEUpLoadRecv']
or
/s0:DMEUpLoadRoot/s0:record
To make the second document identical to the first you would need to reset
the namespace
i.e.
<ns0:DMEUpLoadRoot xmlns:ns0="http://DMEXLoad.Schemas.DMEUpLoadRecv">
<record xmlns=''></record>
</ns0:DMEUpLoadRoot>
Can you give me a bit of background:
Did you Generate the schema for the SQL Adapter using the wizard
Do you have a custom Xsl or inline Xsl in you map.
Greg
<jimadams@millard.com> wrote in message
news:1140555897.200961.60500@o13g2000cwo.googlegroups.com...
> Thanks Greg for your input. I have made some progress in figuring this
> problem out. First of all to answer your question I have the
> XMLReceive pipeline on my Receive port. It is finding the correct
> schema and everything.
>
> What I figured out was that two of the data elements in the XML Schema
> were attributes. I changed them to elements and the mapping started to
> work fine. Part of how I have been testing this is by having an XML
> file that is the same schema as what SQL Server generates and I dump
> the file in a folder for the receive port to pick up. With the new
> schema (i.e. no attributes, just elements) everything works great.
> When I went to the SQL Server adapter I started to get blank files for
> output. It looks like how the namespace is set up. Let me give you an
> example...
>
> If the root element looks like this
>
> <ns0:DMEUpLoadRoot xmlns:ns0="http://DMEXLoad.Schemas.DMEUpLoadRecv">
>
> I have no problems.
>
> However, SQL Server returns the XML data like this
>
> <DMEUpLoadRoot xmlns="http://DMEXLoad.Schemas.DMEUpLoadRecv">
>
> and then I get a blank file. I tested this by using two files each
> with one of the above namespaces. The results are just as I outlined
> them above. I have seen this before and thought I had it working
> correctly with the SQL Server adapter but I can't get it to work now.
> Any ideas?
>
> Thanks!!!
> Jim
>
| |
| jimadams@millard.com 2006-02-22, 5:57 pm |
| Thanks Greg for that information. It is helpful to understand how
Biztalk sees the schemas.
I generated the schemas by hand. At first I was going to have XML
files dropped in a folder for Biztalk to pick up. Then I figured out
the SQL Adapter and went that route. I guess I have inline Xsl in the
map as I do not know how to use a custom Xsl in a map. Basically, I
just created the map, added the two schemas and then compiled it.
I did validate the map and looked at the resulting Xsl file. It
appears to reference the child elements without a namespace. Much like
your example for #1 (/*[local-name()='DMEUpLoadRoot' and
namespace-uri()='http://DMEXLoad.Schemas.DMEUpLoadRecv'/*[local-name()='record'
and namespace-uri=''] ).
Should I run the wizard to generate the schema and use that? (I think
I'll try.)
Thanks agains for you help Greg. I really appreciate it!
| |
| jimadams@millard.com 2006-02-26, 10:47 am |
| It looks like I got it working. I tried to use the wizard to generate
a schema with the SQL Adater but that did not work. I got an error
message that the generated script to call the stored procedure was
wrong. It did not include the parameter for the procedure. Upon
research I think it had to do with the fact that the XML generated by
the stored proc is created using the 'FOR XML EXPLICIT' phrase and not
the 'FOR XML AUTO' syntax. I did not feel like burning any CPU cycles
figuring out what was going on. Instead I just generated a schema
using the xsd.exe utility and a sample XML file that was created by the
stored proc. I then added the schema to the project, edited it so the
elements had the same settings as the original schema and then
recompiled and deployed. After testing it I found the output to be
what I was looking for. The key here was knowing how BizTalk saw the
two different schemas and the elements with regard to their XPATH
location. With the new schema I checked to see what the XPATH location
was for a couple of elements and realized that it was the way Greg
outlined it should be for the SQL generated XML.
Thanks agains Greg! That was a big help knowing the differences
between the two formats and how they affected the XPATH locations.
|
|
|
|