Home Page › Forums › BizTalk 2004 – BizTalk 2010 › Debatching messages from Oracle Adapter 3.0 – WCF generated Schema
- This topic has 9 replies, 1 voice, and was last updated 9 years, 3 months ago by
community-content.
-
AuthorPosts
-
-
February 9, 2009 at 2:28 PM #21664
I’m having a problem modifying the generated schema. I recieve a message that has many records as a POLLINGSTMT typed message. If I try to map fields to another schema, I only map the first record.
I’ve tried to use enveloping, but I either get a message saying there are no subscribers or a message about not finding the schema.
Does anyone know of a good example of debatching using the WCF Adapter to poll an oracle table?
-
February 9, 2009 at 4:49 PM #21667
The art to debatching lies in the schema specification and is adapter agnostic.
Check out this sample from Richard Seroter:
http://seroter.wordpress.com/2007/01/03/debatching-inbound-messages-from-biztalk-sql-adapter/If you still have problems can you post your schema.
-
February 10, 2009 at 6:10 AM #21673
Thanks!
I’ve run through this example, and needless to say the Oracle adapter gerated schema is not so elegant and easy to modify. It’s structured with an extra tier that makes this not one to one with the SQL adapter.
responses are similar to the following:
<POLLINGSTMT>
<POLLINGSTMTRECORD>
<POLLINGSTMTRECORD> … records repeat here </POLLINGSTMTRECORD>
</POLLINGSTMTRECORD>
</POLLINGSTMT>
I think it’s the extra lvl of POLLINGSTMTRECORD giving me trouble. When I set the body XPATH to the lowest level, it complains that there is no schema named after the first entry for a datafield. When I set body XPATH to the next higher level POLLINGSTMTRECORD the message isn’t getting routed at all.
-
February 10, 2009 at 6:57 AM #21674
SCHEMA as generated, copy and paste (now that I’m at work)
_______________________________________________________________
<?xml version=”1.0″ encoding=”utf-8″?>
<xs:schema xmlns:tns=”http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTAccountPoll” elementFormDefault=”qualified” targetNamespace=”http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTAccountPoll” version=”1.0″ xmlns:xs=”http://www.w3.org/2001/XMLSchema“>
<xs:complexType name=”POLLINGSTMTRECORD”>
<xs:sequence>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”ID”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CUNO”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”6″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CTIT”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_NAMA”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”35″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_NAMB”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”30″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_NAMC”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”30″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_NAMD”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”30″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_NAME”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”30″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_NAMF”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”30″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_PSTC”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”10″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_COMP”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CREG”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_PCPR”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”6″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_PCTX”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”6″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_PCTF”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”6″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_SNDR”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CRTE”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”5″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CDEL”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CCOR”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_REFA”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”30″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_REFP”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”30″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_OSNO”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”15″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_TELP”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”15″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_TELX”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”15″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_TEFX”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”15″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_SEAK”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”16″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CBRN”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”6″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CBAN”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CREP”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CFRW”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CPAY”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CCRS”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CDEC”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CCTY”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CLAN”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CCUR”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CVYN”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CRLR”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CLIN”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CCIC”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_RFCI”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”15″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_MREM”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_EDED”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CNPA”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_ITPR”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_NCIN”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CINM”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_INFQ”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CCUS”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”6″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_BACK”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CPLS”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_SCOM”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_PLDD”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CFCG”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CCSU”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”6″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_FOVN”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”20″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_PAYM”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_MSTM”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_BUOR”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_BUIN”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_ODIS”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CRYR”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_TOVR_x0024_1″>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_TOVR_x0024_2″>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_TOVR_x0024_3″>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_TOVR_x0024_4″>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_TOVR_x0024_5″>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CADR”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”6″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_INRL”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_ISCN”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_PRIO”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_COTP”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_TRTM”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_GEOC_x0024_L”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”10″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_ACKX”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_TXTA”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CRRA”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CRBU”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”30″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_CRAT”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”3″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_REFCNTD”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”T_x0024_REFCNTU”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”4000″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”REFLAG” nillable=”true”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”1″ />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name=”POLLINGSTMTRECORD” nillable=”true” type=”tns:POLLINGSTMTRECORD” />
<xs:complexType name=”ArrayOfPOLLINGSTMTRECORD”>
<xs:sequence>
<xs:element minOccurs=”0″ maxOccurs=”unbounded” name=”POLLINGSTMTRECORD” type=”tns:POLLINGSTMTRECORD” />
</xs:sequence>
</xs:complexType>
<xs:element name=”ArrayOfPOLLINGSTMTRECORD” nillable=”true” type=”tns:ArrayOfPOLLINGSTMTRECORD” />
<xs:element name=”POLLINGSTMT”>
<xs:annotation>
<xs:documentation>
<doc:action xmlns:doc=”http://schemas.microsoft.com/servicemodel/adapters/metadata/documentation”>http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMT</doc:action>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”POLLINGSTMTRECORD” nillable=”true” type=”tns:ArrayOfPOLLINGSTMTRECORD” />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name=”POLLINGSTMTResponse”>
<xs:annotation>
<xs:documentation>
<doc:action xmlns:doc=”http://schemas.microsoft.com/servicemodel/adapters/metadata/documentation”>http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMT/response</doc:action>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence />
</xs:complexType>
</xs:element>
</xs:schema>
-
-
-
February 10, 2009 at 12:44 PM #21679
I found a solution this afternoon. (my own question)
The generated schema doesn’t have a root reference set. Set this to POLLINGSTMT. Set to Envelope=yes.
I then deleted the POLLINGSTMTRECORD entry from the generated schema. I created a new schema named POLLINGSTMTRECORD, INCLUDED the original schema, named the root POLLING STMTRECORD and set it’s type to POLLINGSTMTRECORD from the generated schema. I set this new “record” to be the root node.
I could probably have just set the root to the original entry for POLLINGSTMTRECORD. I’m going to try this next.
I was able to successfully debatch 10 rows from oracle using this minor change for the oracle adapter.
-
February 10, 2009 at 2:09 PM #21682
I find setting the Root Reference is generally a bad idea.
When you deploy a schema with Root Reference = (Default), each root level element in the schema is registered as a message type.
In your case there will be 4 message types: POLLINGSTMT, ArrayOfPOLLINGSTMTRECORD, POLLINGSTMTRECORD, POLLINGSTMTResponse.
If you specify the Root Reference then only that element is registered as a message type, i.e. POLLINGSTMTWhen the Xml Disassembler receives a message that is an envelope it debatches each child of the Body Xpath node and tries to find the message type. If you have set the Root Reference it cannot find the message type, which is why you need to create your separate schema.
A simpler way of enabling debatching, staring with the generated schema:
1. Select <Schema> and set Envelope = Yes
2. Select POLLINGSTMT and set Body Xpath = POLLINGSTMT/POLLINGSTMTRECORDThere is a potential issue if you ever expect to receive a POLLINGSTMTResponse message using the Xml receive pipeline, but in your case this should not happen.
-
February 10, 2009 at 2:38 PM #21683
Setting Envelope=Yes and the body Xpath was my first of many attempts. This resulted in the error about no subscribers:
The published message could not be routed because no subscribers were found
The only setting in body XPath that even produced the “schema not found” error was POLLINGSTMT/POLLINGSTMTRECORD/POLLINGSTMTRECORD… of course telling me it couldn’t fnd the Schema for “ID,” my first entry in the POLLINGSTMTRECORD.
Only after setting the root node to “POLLINGSTMT” did I get the error stating that the schema for POLLINGSTMTRECORD couldn’t be found. At this point I followed the standard new schema / include method mentioned in the blog posted previously.
The only message I get back is of type POLLINGSTMT…. so like you said, I wouldn’t be able to handle messages of this type.
I guess my real beef is lack of documentation for how it was designed to work.
-
-
March 26, 2009 at 2:10 PM #22012
I need your help for debatching messages in WCF Oracle Adapter, In Oracle genarated schema have POLLINGSTMTRECORD(Complex Type) do i need to remove from following three record nodes POLLINGSTMTRECORD, ArrayOfPOLLINGSTMTRECORD and POLLINGSTMT Could you please send me steps how to implement debatch in oracle generated schema
Thanks In Advance
Jana
-
March 26, 2009 at 10:25 PM #22020
Hi, Iam also having the same requirement and trying to implement what you mentioned.my question is the new schema named POLLINGSTMTRECORD target name space and generated schema target name space should be same?I tried giving different target name space to new schema and iam not alble to include new schema in the generated schema.
I created new schema named POLLINGSTMTRECORD, INCLUDED the
original schema, named the root POLLING STMTRECORD and set it’s type to
POLLINGSTMTRECORD from the generated schema. I set this new “record” to
be the root node.”Could you please clarify the above underlined statement mentioned by you. I am trying to understand but iam not clear exactictly what you mean. I appreciate your time
Thanks
Gopal
-
April 15, 2009 at 10:00 AM #22144
You can accomplish this with out creating a extra shema and also not setting the Root Reference.
Please read the blog about this :
-
-
-
-
AuthorPosts
- The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.