XML debatching

can XML be debatched without using file or FTP adapter in ESB or BPEL ?
kindly reply if u ve any other technique for debatching an XML
Thanks in advance
-venkat

Well..you can, but you need to orchestrate the whole debatched process yourself in bpel.
Lets say we have as input of the bpel our whole payload.
<total>
<element/>
<element/>
<element/>
</total>
If you want to debatch this for example by every occurrence of element you can use a while-activity in bpel, and loop over all the 'element'-elements. And in the activity you can do whatever you want.
For example call some service on every occurrence and after that call some other bpel process.

Similar Messages

  • Promoting a property after XML debatching - Is this possible?

    Hi,
    I have a schema (please see below) which I'm currently debatching - this works perfectly! I would like to add a promoted property to the debatched message so that I can then use this for port level routing. This is where I'm currently having some difficulties.
    Thus far, I've only been able to get it working against the last debatched message rather than each one. Is this possible within BizTalk?
    What I would like to achieve:
    Map inbound message to canonical schema on inbound port
    De-batch messages on repeating nodes (SpaceUsage)
    Use promoted property (SpaceUsageMasterData) within send port to provide message routing.
    Schema:
      <ns0:SpaceCanonical xmlns:ns0="http://uol.external.schemas">
      <ns0:SpaceSysID>SpaceSysID_0</ns0:SpaceSysID>
      <ns0:SpaceSysCode>SpaceSysCode_0</ns0:SpaceSysCode>
      <ns0:SpaceName>SpaceName_0</ns0:SpaceName>
      <ns0:SpaceDescription>SpaceDescription_0</ns0:SpaceDescription>
      <ns0:SpaceNetArea>SpaceNetArea_0</ns0:SpaceNetArea>
      <ns0:PropertyCode>PropertyCode_0</ns0:PropertyCode>
      <ns0:FloorCode>FloorCode_0</ns0:FloorCode>
      <ns0:ShowInCMIS>ShowInCMIS_0</ns0:ShowInCMIS>
      <ns0:SpaceModDateTime>1999-05-31T13:20:00.000-05:00</ns0:SpaceModDateTime>
      <ns0:SpaceMasterData>False</ns0:SpaceMasterData>
      <ns0:TodaysDate>1999-05-31T13:20:00.000-05:00</ns0:TodaysDate>
      <ns0:SpaceUsages>
        <ns0:SpaceUsage>
          <ns0:SpaceUsageCode>SpaceUsageCode_0</ns0:SpaceUsageCode>
          <ns0:SpaceParentSysID>SpaceParentSysID_0</ns0:SpaceParentSysID>
          <ns0:SpaceTypeCode>SpaceTypeCode_0</ns0:SpaceTypeCode>
          <ns0:SpaceTypeDescription>SpaceTypeDescription_0</ns0:SpaceTypeDescription>
          <ns0:EMSCode>EMSCode_0</ns0:EMSCode>
          <ns0:EMSDescription>EMSDescription_0</ns0:EMSDescription>
          <ns0:TRACCode>TRACCode_0</ns0:TRACCode>
          <ns0:TRACDescription>TRACDescription_0</ns0:TRACDescription>
          <ns0:DepartmentCode>DepartmentCode_0</ns0:DepartmentCode>
          <ns0:SpaceUsageNetArea>SpaceUsageNetArea_0</ns0:SpaceUsageNetArea>
          <ns0:StartDate>1999-05-31</ns0:StartDate>
          <ns0:EndDate>1999-05-31</ns0:EndDate>
          <ns0:Capacity>Capacity_0</ns0:Capacity>
          <ns0:CostBandCode>CostBandCode_0</ns0:CostBandCode>
          <ns0:CostBandDescription>CostBandDescription_0</ns0:CostBandDescription>
          <ns0:CostRate>CostRate_0</ns0:CostRate>
          <ns0:FunctionalSuitability>FunctionalSuitability_0</ns0:FunctionalSuitability>
          <ns0:SpaceUsageModDateTime>1999-05-31T13:20:00.000-05:00</ns0:SpaceUsageModDateTime>
          <ns0:SpaceUsageMasterData>False</ns0:SpaceUsageMasterData>
        </ns0:SpaceUsage>
     <ns0:SpaceUsage>
          <ns0:SpaceUsageCode>SpaceUsageCode_1</ns0:SpaceUsageCode>
          <ns0:SpaceParentSysID>SpaceParentSysID_0</ns0:SpaceParentSysID>
          <ns0:SpaceTypeCode>SpaceTypeCode_0</ns0:SpaceTypeCode>
          <ns0:SpaceTypeDescription>SpaceTypeDescription_0</ns0:SpaceTypeDescription>
          <ns0:EMSCode>EMSCode_0</ns0:EMSCode>
          <ns0:EMSDescription>EMSDescription_0</ns0:EMSDescription>
          <ns0:TRACCode>TRACCode_0</ns0:TRACCode>
          <ns0:TRACDescription>TRACDescription_0</ns0:TRACDescription>
          <ns0:DepartmentCode>DepartmentCode_0</ns0:DepartmentCode>
          <ns0:SpaceUsageNetArea>SpaceUsageNetArea_0</ns0:SpaceUsageNetArea>
          <ns0:StartDate>1999-05-31</ns0:StartDate>
          <ns0:EndDate>1999-05-31</ns0:EndDate>
          <ns0:Capacity>Capacity_0</ns0:Capacity>
          <ns0:CostBandCode>CostBandCode_0</ns0:CostBandCode>
          <ns0:CostBandDescription>CostBandDescription_0</ns0:CostBandDescription>
          <ns0:CostRate>CostRate_0</ns0:CostRate>
          <ns0:FunctionalSuitability>FunctionalSuitability_0</ns0:FunctionalSuitability>
          <ns0:SpaceUsageModDateTime>1999-05-31T13:20:00.000-05:00</ns0:SpaceUsageModDateTime>
          <ns0:SpaceUsageMasterData>False</ns0:SpaceUsageMasterData>
        </ns0:SpaceUsage>
      </ns0:SpaceUsages>
    </ns0:SpaceCanonical>
    Thanks,
    Steven.

    Hi all,
    Thanks for the advise regarding my challenges with BizTalk de-batching! I don't think that I was particularly clear in my first post that both the "Space" node and "Space Usage" node have a one to many relationship:
    IE. a space can have multiple usages below it in the schema. It should also be noted that the original XML fie received will have a large number of spaces within it and isn't limited to just one.
    XML file format:
    Header - static
    Space - multiple spaces in the file (essentially the rooms within a building)
    SpaceUsage - multiple space usages within the file (layout of rooms according to date/usage)
    I now believe that what I really needed to do was to de-batch the "space node" and also the "space usage" node which I don't believe is possible as I can find no information on de-batching one file into multiple message
    types where there are repeating nodes throughout. Please correct me if I'm wrong. The only part of the message which is static throughout it the header. Moving forward I'll be clearer with our suppliers that we need specific files for each message type rather
    than generating large XML files with all the message types in one place.
    Kind regards,
    Steven.
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • File Adapter Service debatching issue

    I am experimenting with the ESB to enable an inbound file adapter to read multiple records "debatching" from a file with XML content. I am using a router to pass to another FileAdapter for writing each of the child records to a separate XML file. So basically I am just trying to test reading multiple records from a single XML file and then putting each record in its own separate outbound file. Seems like this should be a pretty simple initial experiment with using the ESB. But when I drop this inbound xml file, it is getting picked up properly, but the entire inbound xml file is not getting split up or debatched into separate XML messages from the file input adapter. My confusion is over how the fileadapter works with files with XML content, I have checked the "Files contain multiple messages" checkbox and indicated batches of "1". So shouldn't this tell the file adapter to process one record from the inbound file at a time, passing it thru the router and ultimately to the outbound file adapter? If so, how does the file adapter know what deliminates each record in the XML file? Here is the inbound xml that I am trying to read/break apart and put each child XML element "service request event" in it's own outbound file. Please advice what I am missing here. I am not so sure that debatching in the File Adapter will work with files including XML content? Or perhaps that is a work around or example that someone has to explain how to do this.
    <?xml version="1.0" encoding="UTF-8"?>
    <ns4:Events xmlns:ns4="http://xmlns.arl.psu.edu/OffboardServicesEvent" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.arl.psu.edu/OffboardServicesEvent Events.xsd">
    <ns4:ServiceRequestEvent>
    <ns4:summary>Planetary over temp test1</ns4:summary>
    <ns4:severity_id>9</ns4:severity_id>
    <ns4:urgency_id>64</ns4:urgency_id>
    <ns4:status>103</ns4:status>
    <ns4:type_id>11124</ns4:type_id>
    <ns4:owner_id>100003631</ns4:owner_id>
    <ns4:current_serial_number>1748AC16206</ns4:current_serial_number>
    <ns4:inventory_item_id>2320011231602</ns4:inventory_item_id>
    <ns4:problem_code>1001R3</ns4:problem_code>
    </ns4:ServiceRequestEvent>
    <ns4:ServiceRequestEvent>
    <ns4:summary>Planetary over temp test2</ns4:summary>
    <ns4:severity_id>9</ns4:severity_id>
    <ns4:urgency_id>64</ns4:urgency_id>
    <ns4:status>103</ns4:status>
    <ns4:type_id>11124</ns4:type_id>
    <ns4:owner_id>100003631</ns4:owner_id>
    <ns4:current_serial_number>1748AC16206</ns4:current_serial_number>
    <ns4:inventory_item_id>2320011231602</ns4:inventory_item_id>
    <ns4:problem_code>1001R3</ns4:problem_code>
    </ns4:ServiceRequestEvent>
    </ns4:Events>
    here is the schema....
    <?xml version="1.0" encoding="UTF-8" ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://xmlns.arl.psu.edu/OffboardServicesEvent"
    targetNamespace="http://xmlns.arl.psu.edu/OffboardServicesEvent"
    xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
    elementFormDefault="qualified">
    <xsd:element name="ServiceRequestEvent" type="ServiceRequestEventType"/>
    <xsd:element name="Events">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element ref="ServiceRequestEvent" maxOccurs="unbounded"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:complexType name="ServiceRequestEventType">
    <xsd:sequence>
    <xsd:element name="summary" type="xsd:string"/>
    <xsd:element name="severity_id" type="xsd:double"/>
    <xsd:element name="urgency_id" type="xsd:double"/>
    <xsd:element name="status" type="xsd:double"/>
    <xsd:element name="type_id" type="xsd:double"/>
    <xsd:element name="owner_id" type="xsd:double"/>
    <xsd:element name="current_serial_number" type="xsd:string"/>
    <xsd:element name="inventory_item_id" type="xsd:string"/>
    <xsd:element name="problem_code" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    I have been scanning thru the Oracle tutorials and googling, but have not found any examples where a single XML document is debatched via the File adapter in this way.
    Thanks for any help,
    Todd

    I figured it out. I was using 10.1.3.1, which does not support XML debatching -- just flat file debatching. I upgraded to 10.1.3.3 and it works now. Before I did that, however, I followed the instructions here: http://www.oracle.com/technology/products/ias/bpel/pdf/10133technotes.pdf (section: Transferring Large Payloads in Oracle BPEL Process Manager) and downloaded those jarfiles. Perhaps they come with 10.1.3.3, but I did not remove them before I upgraded so I'm not sure if those steps were necessary.

  • Translation error in Debatching a file

    Hi,
    I am using XML debatching in the input file adapter of BPEL Process.
    I am getting translation error when debatching option is turned on.
    I am using a sample file that is confirmed as valid in a xmlspy tool
    and also in the bpel process's validate xml option in the console.
    When debatching option is not selected, the bpel process works fine.
    also, debatching option worked earlier finely for another ESB process.
    PFB the error:
    <2010-07-07 17:41:27,783> <WARN> <tbm.collaxa.cube.activation> <AdapterFramework::Inbound> [Read_ptt::Read(Catalog)]onReject: Sending invalid inbound message to Exception Handler:
    <2010-07-07 17:41:27,783> <INFO> <tbm.collaxa.cube.activation> <AdapterFramework::Inbound> Handing rejected message to DEFAULT rejection handler: file:///..../rejectedMessages since none of the configured rejection handlers [] succeeded.
    <2010-07-07 17:41:27,783> <INFO> <tbm.collaxa.cube.ws> <File Adapter::Outbound> Setting last error record to : -1
    <2010-07-07 17:41:27,783> <INFO> <tbm.collaxa.cube.ws> <File Adapter::Outbound> Translator has failed to translate any message from batch number: 37185
    <2010-07-07 17:41:27,783> <INFO> <tbm.collaxa.cube.ws> <File Adapter::Outbound> Message not published as translation failed: {
    File=/home/casapp01/tbm/temp/inbound/Price_04222010_001.xml, batchIndex=37185, PublishSize=100
    <2010-07-07 17:41:27,784> <INFO> <tbm.collaxa.cube.ws> <File Adapter::Outbound> Translated inbound batch index 37186 of file Price.xml} with corrupted message count = 1
    <2010-07-07 17:41:27,784> <INFO> <tbm.collaxa.cube.ws> <File Adapter::Outbound> Sending message to Adapter Framework for rejection to user-configured rejection handlers : {
    fileName=/.../Price.xml, startLine=1, startColumn=1, endLine=-1, endCol=-1, Exception=java.lang.ClassCastException
    <2010-07-07 17:41:27,784> <WARN> <tbm.collaxa.cube.activation> <AdapterFramework::Inbound> [Read_ptt::Read(Catalog)]onReject: The resource adapter 'File Adapter' requested handling of a malformed inbound message. However, the following bpel.xml activation property has not been defined: 'rejectedMessageHandlers'. Please define it and redeploy the business process. Will use the default Rejection Directory file:///...../rejectedMessages for now.
    do I have to configure any server file to activate Debatching in BPEL Process?
    Kindly provide the suggestions.
    thanks in advance.
    Warm Regards
    AKV.

    Hi,
    did the de-batching option worked for same file in ESB ?
    Is your file XML file or flat file (csv/ fixed length) ?
    As far as I know, debatching works only for flat files as they can have multiple messages.
    In XML message normally you will have only one root element so the entire message will be treated as one and hence debatching won't work.
    May be if you have XML file with more than one root element , then each element will be treated as a separate message qualifier and debatching will work - but never tried this for XML..
    HTH,
    Ketan

  • JVM Tuning in SOA 10.1.3.4

    Hi experts,
    Thanks for the information.
    We are currently facing issue. The description is as follows:
    1. We are having a SOA cluster with version 10.1.3.4 and facing high memory utilization on both the application nodes.
    2. We have observed that the Java process will be consuming huge amount of RAM.
    3. The start parameters for the OC4J_SOA container is as mentioned below.
    <ias-component id="SOA_GROUP" status="enabled">
    <process-type id="OC4J_SOA" module-id="OC4J" status="enabled">
    <module-data>
    <category id="start-parameters">
    <data id="java-options" value="-server -Xmx6144m -Xms6144m -Xmn3687m -Xrs -XX:+AggressiveHeap -XX:MaxPermSize=768M -XX:NewSize=3687M
    -Djava.security.policy=$ORACLE_HOME/j2ee/OC4J_SOA/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false -Doc4j.userThreads=true
    -Doracle.mdb.fastUndeploy=60 -Doc4j.formauth.redirect=true -Djava.net.preferIPv4Stack=true -Dorabpel.home=/app/oracle/product/10.1.3/bpel
    -Xbootclasspath^/p:/app/oracle/product/10.1.3/bpel/lib/orabpel-boot.jar -Dhttp.proxySet=false
    -Doraesb.home=/app/oracle/product/10.1.3/integration/esb -DHTTPClient.disableKeepAlives=true -Dstdstream.filenumber=30 -Dstdstream.rotatetime=00:00
    -Dstdstream.filesize=20 "/>
    <data id="oc4j-options" value="-out $ORACLE_HOME/opmn/logs/oc4j_soa.out -err $ORACLE_HOME/opmn/logs/oc4j_soa.err"/>
    </category>
    <category id="stop-parameters">
    <data id="java-options" value="-Djava.security.policy=$ORACLE_HOME/j2ee/OC4J_SOA/config/java2.policy -Djava.awt.headless=true
    -Dhttp.webdir.enable=false"/>
    </category>
    </module-data>
    <start timeout="600" retry="2"/>
    <stop timeout="120"/>
    <restart timeout="720" retry="2"/>
    <port id="default-web-site" range="12501-12600" protocol="ajp"/>
    <port id="rmi" range="12401-12500"/>
    <port id="rmis" range="12701-12800"/>
    <port id="jms" range="12601-12700"/>
    <process-set id="SOA_GROUP" numprocs="1"/>
    </process-type>
    </ias-component>
    4. Total available RAM is 20GB.
    5. I would like to know why the following parameter is set: "<process-set id="SOA_GROUP" numprocs="1"/>" ?
    Could you please let me know whether there are any issues in the settings as we suspect the GC is not happening properly due to huge heap size.
    It would be really helpful if you could answer this.
    Thanks in Advance,
    Kumar

    Please raise a case with support if it is a production issue. SIMILAR threads I found are -
    High Memory Utilization in Weblogic servers
    XML Debatching in BPEL!!
    Regards,
    Anuj

  • Debatch Flat File in to XML

    Hi,
    First I Created a Flat file in below format having 3 records. When I Validate Flat File Schema , I can see the XML single xml file generating with 3 records.
    Shakeer,Newyork,US
    Hussain,Chicago,US
    Shahid,Newyork,US
    Later my goal is to split each record and generate each record as a single XML file. I did modifications in my Flat File Schema. After validating Schema it generates a
    single record XML file. Up to now its cool.
    Now I want to apply my modified schema in Existing Application
    in BizTalk console. How to do it?
    When I drop my Flat file in Receive location the I can see my XML file in send location not as a single record XML file but as
    all records in one single file.
    Please help how to resolve it?
    PS.Shakeer Hussain

    Hi Syed,
    Do the following simple steps for your requirement:
    Set “Allow Message Breakup At Infix Root” to “Yes” by selecting “Schema”
    Set “Max Occurs” to 1 by selecting the Record where you want to split.
    Create a Receive pipeline with "Flat File Disassembler" in the Disassemble stage.
    Deploy the above artifacts; Flat File Schema, Receive pipeline with Flat File Disassembler component.
    Configure the Receive port with Receive pipeline and send port with filter for Receive port (BTS.ReceviePortName) or after debatching do whatever you want to do..
    Obviously you have other ways like calling the Receivepipeline in orchestration if you have many message/records to be debatched and reduce the number of footprints in message-box db. But start
    with the above steps and move on to other advanced solution based on your need.
    You can follow the reference here..
    How to Debatch (Split) a Flat File using Flat File Schema ? 
    Another reference from our friend Mahesh-
    Debatching(Splitting) XML Message - BizTalk 2010
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Merging XML Files After Debatching - 10.1.3.4

    I have a large fixed-width file which I am debatching and transforming to XML files:
    bigfile.txt (~52MB) -> file_%SEQ%.xml (~4MB each)
    resulting in:
    file_2001.xml (~4MB)
    file_2002.xml (~4MB)
    file_2003.xml (~4MB)
    file_2004.xml (~4MB)
    I would like to merge these resulting XML files back into one XML file:
    bigfile.xml (~52MB)
    I know the [Append="true"] attribute in the file adapter used to write the file won't "work" with XML files. I've tested this anyway and received "out of memory" errors while appending. This removes post-processing options.
    I'm new to BPEL and feel that I must be missing something simple. Any advice would be appreciated.
    Thanks in advance,
    Rob

    Hi Rob,
    You can create a temp variable of xsd type of bigfile.xml, read all below files one by one and within assign activity use append operation to append all xml files, when all read is complete, dispatch this message to file adapter to write file.
    file_2001.xml (~4MB)
    file_2002.xml (~4MB)
    file_2003.xml (~4MB)
    file_2004.xml (~4MB)
    Here, there is a possibility of out of memory error.
    Please try it,
    Regards

  • Handling attachments in XML in Biztalk

    Hi,
    I am having a scenario where a third party sends us a xml; that XML has an attachment,a zip file.I can see a node called attachment in the XML. the contents of the attached file(once decoded) conforms to a particular schema..
    I need to receive this XML, decode the zipped file.
    How to handle this in Biztalk?
    regards,
    MS

    mmm..Using custom pipeline component is obvious when you want to debatch the message from a zip because BizTalk doesn't have any unzipping/Zip component out-of-box. But what you’re looking
    for is how do you handle it when the actual zip is part of the received XML (in one of the nodes) as opposed to the received file itself is a zipped one.
    As said, you need some custom code (custom pipeline component) and use any Zip API to handle the compressed file(s).
    When one of the nodes (attachment-node)
    is going to contain the zipped content ( which has to be decoded to Base64 String)in your custom pipeline component, use
    XPathReader and XpathCollection to access the value of a specific node
     (attachment-node)
    from the received XML by passing the XPath for the attachment node. Using this, once you have the decoded the values, send this value to the any of the ZIP API which can decode
    and unzip it. If you follow the article before this talks about using an ZIP API to unzip and debtach the contents.
    UnzipDisassembler - A custom pipeline component
    Unzip Files in a Custom Pipeline Component
    Extracting BizTalk Messages Content using XPath in Custom Pipeline Components
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Debatching

    My input text file is as follows :
    13120000117A|20140623|03-01-2014 TO 04-30-2014|1100_20047|ZTAD1|ZNA590|700355|1100_20047||04-12-2014|USD|21.25|CARD
    13120000117B|20140623|03-01-2014 TO 04-30-2014|1100_20047|ZTAD1|ZNA590|700355|1100_20047||04-12-2014|USD|21.25|CASH
    13120000117A|20140623|03-01-2014 TO 04-30-2014|1100_20047|ZTAD1|ZNA590|700355|1100_20047||04-12-2014|USD|21.25|CASH
    I want this output after debatching :
    One message for 13120000117A and one messge for 13120000117B.
    When I debatch through flat file schema , I am getting three message :
    two message for 13120000117A and one message for 13120000117B.
    My condition is that if the value of first element is same in the entire flat file then it will create a single message for all ,otherwise it will create different message.
    For grouping first element, I applied Muenchian Grouping and it is working fine.The main issue occures in debatching .
    I have done the following things in my scenario :
    First of all, my text file is converted into a another schema (let B)with the help of mapping where I used Muenchian Grouping in custom xslt then I map Schema B to IDOC. Its all working fine.
    How can I solve this issue ?
    Thanks in Advance.
    Prakash

    Oh sorry this is my mistake.Ref docNo 13120000117C is not coming in the output of muchain. 
    this is my input file :
    13120000117A|6/23/2014|3/1/2014 to 4/30/2014|1100_20047|ZTAD1|ZNA590|700355|1100_20047||4/12/2014|USD|21.25|CARD
    13120000117A|6/23/2014|3/1/2014 to 4/30/2014|1100_20047|ZTAD1|ZNA590|700355|1100_20047||4/12/2014|USD|21.25|CASH
    13120000117B|6/23/2014|3/1/2014 to 4/30/2014|1100_20047|ZTAD1|ZNA590|700355|1100_20047||4/12/2014|USD|21.25|CASH
    and this is the output of my  muchian
    method :
      <?xml version="1.0" encoding="utf-8"
    ?>
    <ns0:Send xmlns:ns0="http://Interplx.DestinationSchema">
    <IdocData>
    <CHEO9>
      <CompCode>1100_20047</CompCode>
      <DocDate>6/23/2014</DocDate>
      <RefDocNo>13120000117A</RefDocNo>
      </CHEO9>
    <GL09>
      <GLAccount>700355</GLAccount>
      <TracsactionDate>4/12/2014</TracsactionDate>
      <CostCenter>1100_20047</CostCenter>
      <WBSElement
    />
      <Assisgmnet>CARD</Assisgmnet>
      <ItemNos>2</ItemNos>
      </GL09>
    <GL09>
      <GLAccount>700355</GLAccount>
      <TracsactionDate>4/12/2014</TracsactionDate>
      <CostCenter>1100_20047</CostCenter>
      <WBSElement
    />
      <Assisgmnet>CASH</Assisgmnet>
      <ItemNos>3</ItemNos>
      </GL09>
    <AP09>
      <EmpID>ZTAD1</EmpID>
      <VendorNo>ZNA590</VendorNo>
      </AP09>
    <ACCR09>
      <CurrencyISO>USD</CurrencyISO>
      <Amt_Doccur>21.25</Amt_Doccur>
      </ACCR09>
    <ACCR09>
      <CurrencyISO>USD</CurrencyISO>
      <Amt_Doccur>21.25</Amt_Doccur>
      </ACCR09>
      </IdocData>
    <IdocData>
    <CHEO9>
      <CompCode>1100_20047</CompCode>
      <DocDate>6/23/2014</DocDate>
      <RefDocNo>13120000117B</RefDocNo>
      </CHEO9>
    <GL09>
      <GLAccount>700355</GLAccount>
      <TracsactionDate>4/12/2014</TracsactionDate>
      <CostCenter>1100_20047</CostCenter>
      <WBSElement
    />
      <Assisgmnet>CASH</Assisgmnet>
      <ItemNos>2</ItemNos>
      </GL09>
    <AP09>
      <EmpID>ZTAD1</EmpID>
      <VendorNo>ZNA590</VendorNo>
      </AP09>
    <ACCR09>
      <CurrencyISO>USD</CurrencyISO>
      <Amt_Doccur>21.25</Amt_Doccur>
      </ACCR09>
      </IdocData>
     </ns0:Send>
    But after performing flat file debatching , I got three message as follows:
    Ist msg:
      <?xml version="1.0" encoding="utf-8"
    ?>
    <ns0:Send xmlns:ns0="http://Interplx.DestinationSchema">
    <IdocData>
    <CHEO9>
      <CompCode>1100_20047</CompCode>
      <DocDate>6/23/2014</DocDate>
      <RefDocNo>13120000117B</RefDocNo>
      </CHEO9>
    <GL09>
      <GLAccount>700355</GLAccount>
      <TracsactionDate>4/12/2014</TracsactionDate>
      <CostCenter>1100_20047</CostCenter>
      <WBSElement
    />
      <Assisgmnet>CASH</Assisgmnet>
      <ItemNos>2</ItemNos>
      </GL09>
    <AP09>
      <EmpID>ZTAD1</EmpID>
      <VendorNo>ZNA590</VendorNo>
      </AP09>
    <ACCR09>
      <CurrencyISO>USD</CurrencyISO>
      <Amt_Doccur>21.25</Amt_Doccur>
      </ACCR09>
      </IdocData>
     </ns0:Send>
    2nd msg:
      <?xml version="1.0" encoding="utf-8"
    ?>
    <ns0:Send xmlns:ns0="http://Interplx.DestinationSchema">
    <IdocData>
    <CHEO9>
      <CompCode>1100_20047</CompCode>
      <DocDate>6/23/2014</DocDate>
      <RefDocNo>13120000117A</RefDocNo>
      </CHEO9>
    <GL09>
      <GLAccount>700355</GLAccount>
      <TracsactionDate>4/12/2014</TracsactionDate>
      <CostCenter>1100_20047</CostCenter>
      <WBSElement
    />
      <Assisgmnet>CASH</Assisgmnet>
      <ItemNos>2</ItemNos>
      </GL09>
    <AP09>
      <EmpID>ZTAD1</EmpID>
      <VendorNo>ZNA590</VendorNo>
      </AP09>
    <ACCR09>
      <CurrencyISO>USD</CurrencyISO>
      <Amt_Doccur>21.25</Amt_Doccur>
      </ACCR09>
      </IdocData>
     </ns0:Send>
    3rd msg:
      <?xml version="1.0" encoding="utf-8"
    ?>
    <ns0:Send xmlns:ns0="http://Interplx.DestinationSchema">
    <IdocData>
    <CHEO9>
      <CompCode>1100_20047</CompCode>
      <DocDate>6/23/2014</DocDate>
      <RefDocNo>13120000117A</RefDocNo>
      </CHEO9>
    <GL09>
      <GLAccount>700355</GLAccount>
      <TracsactionDate>4/12/2014</TracsactionDate>
      <CostCenter>1100_20047</CostCenter>
      <WBSElement
    />
      <Assisgmnet>CARD</Assisgmnet>
      <ItemNos>2</ItemNos>
      </GL09>
    <AP09>
      <EmpID>ZTAD1</EmpID>
      <VendorNo>ZNA590</VendorNo>
      </AP09>
    <ACCR09>
      <CurrencyISO>USD</CurrencyISO>
      <Amt_Doccur>21.25</Amt_Doccur>
      </ACCR09>
      </IdocData>
     </ns0:Send>
    Please give me how can I get two message ? One
    for 13120000117A(Ref
    Doc No) and other for 13120000117B(Ref
    Doc No).
    Prakash

  • File based rejection handling using Debatching

    Hi All,
    I am facing very serious issue while using debatching option in file adapter.
    I am reading file in de-batch mode. When any record is corrupted inside file then entire file is moving to default rejmsgs folder in SOA domain/soa_server1 folder.
    Let say i have total 10 record in files. If record 2,5,and 7 have invalid record then entire message is moving to rejmsgs/process name folder. Because of this case size of the rejmsgs is increased to 20G.
    I request some one to provide me the solution that how can avoid this case and movie only particular invalid record to rejection handler.
    Appreciate for response.
    Regards,
    Tarak.

    Hi Ankit kalanoria,
    Thank you for your response
    As you said i am using debatching mode and in my .Jca file i can see publishsize property value as 1.
    <adapter-config name="ReadRMSinput_file" adapter="File Adapter" wsdlLocation="ReadRMSinput_file.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
      <connection-factory location="eis/FileAdapter" UIincludeWildcard="storetsf*.tsfxml"/>
      <endpoint-activation portType="Read_ptt" operation="Read">
        <activation-spec className="oracle.tip.adapter.file.inbound.FileActivationSpec">
          <property name="DeleteFile" value="false"/>
          <property name="MinimumAge" value="0"/>
          <property name="PhysicalDirectory" value="/u01/textdata/SOADEV/SABAT/TSF2SIM/out"/>
          <property name="Recursive" value="false"/>
          <property name="PublishSize" value="1"/>
          <property name="PollingFrequency" value="10"/>
          <property name="IncludeFiles" value="storetsf.*\.tsfxml"/>
          <property name="UseHeaders" value="false"/>
        </activation-spec>
      </endpoint-activation>
    </adapter-config>XSD which i am using for debatching in fileadapter.
    <xs:schema elementFormDefault="qualified"
               targetNamespace="http://www.oracle.com/RMS/RMStoSIMTransfers/RMStoSIMTransfers.xsd"
               version="1.0"
               xmlns="http://www.oracle.com/RMS/RMStoSIMTransfers/RMStoSIMTransfers.xsd"
               xmlns:retailDoc="http://www.w3.org/2001/XMLSchema"
               xmlns:xs="http://www.w3.org/2001/XMLSchema">
             <xs:element name="Shipments">
              <xs:complexType>
                <xs:sequence>
                 <xs:element minOccurs="1" maxOccurs="unbounded" ref="Shipment" nxsd:uniqueMessageSeparator="${eol}"/>
                  </xs:sequence>
                  </xs:complexType>
                  </xs:element>
                  <xs:element name="Shipment">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="ActualShipDateTime" type="xs:dateTime"/>
                        <xs:element name="BolNumAlpha" type="xs:string"/>
                        <xs:element ref="Carrier" minOccurs="0"/>
                         <xs:element ref="Comments" minOccurs="0"/>
                        <xs:element ref="Customer" minOccurs="0"/>
                        <xs:element name="InternalShipmentNum" type="xs:int"/>
                        <xs:element name="OrderType" type="xs:string"/>
                        <xs:element name="TotalContainers" type="xs:int"/>
                        <xs:element name="TotalLines" type="xs:int"/>
                        <xs:element name="TotalQuantity" type="xs:int"/>
                        <xs:element name="TotalVolume" type="xs:int"/>
                        <xs:element name="TotalWeight" type="xs:int"/>
                        <xs:element name="WeightUm" type="xs:string"/>
                         <xs:element ref="Details" minOccurs="0"/>
                              <xs:element ref="ItemDetails" minOccurs="0"/>
                         <xs:element ref="Containers" minOccurs="0"/>
                         </xs:sequence>
                        </xs:complexType>
                        </xs:element>
                        <xs:element name="Carrier">
                           <xs:complexType>
                            <xs:sequence>
                              <xs:element name="Carrier" type="xs:string"/>
                            </xs:sequence>
                          </xs:complexType>
                        </xs:element>
                        <xs:element name="Comments">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="Comment" minOccurs="0"
                                          maxOccurs="unbounded">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="Text" type="xs:string"/>
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                            </xs:sequence>
                          </xs:complexType>
                        </xs:element>
                        <xs:element name="Customer">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="Customer" type="xs:string"/>
                            </xs:sequence>
                          </xs:complexType>
                        </xs:element>
                        <xs:element name="Details">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element ref="ShipmentDetail" minOccurs="0"
                                          maxOccurs="unbounded"/>
                               </xs:sequence>
                                </xs:complexType>
                                </xs:element>
                                <xs:element name="ShipmentDetail">
                                 <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="UserDef1" type="xs:string"/>
                                    <xs:element name="UserDef2" type="xs:string"/>
                                    <xs:element name="UserDef6" type="xs:string"/>
                                    <xs:element name="UserDef5" type="xs:string"/>
                                    <xs:element name="ErpOrder" type="xs:string"/>
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                             <xs:element name="ItemDetails">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element ref="ItemDetail" minOccurs="0"
                                          maxOccurs="unbounded"/>
                               </xs:sequence>
                                </xs:complexType>
                                </xs:element>
                                <xs:element name="ItemDetail">
                                 <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="Item" type="xs:int"/>
                                    <xs:element name="Quantity" type="xs:decimal"/>
                                    </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                        <xs:element name="Containers">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element ref="ShippingContainer" minOccurs="0"
                                          maxOccurs="unbounded"/>
                                </xs:sequence>
                                </xs:complexType>
                                </xs:element>
                                <xs:element name="ShippingContainer">
                                <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="ContainerId" type="xs:string"/>
                                    <xs:element ref="ContainerDetails" minOccurs="0"/>
                                    <xs:element ref="ContainerType" minOccurs="0"/>                           
                                    <xs:element name="ManifestCarrServiceSymbol"
                                                type="xs:string"/>
                                    <xs:element name="ManifestId" type="xs:string"/>
                                    <xs:element name="TotalFreightCharge"
                                                type="xs:decimal"/>
                                    <xs:element name="TotalFreightDiscount"
                                                type="xs:decimal"/>
                                    <xs:element name="TotalQuantity"
                                                type="xs:decimal"/>
                                    <xs:element name="TotalWeight"
                                                type="xs:decimal"/>
                                    <xs:element name="TrackingNumber"
                                                type="xs:string"/>
                                    <xs:element name="WeightUm" type="xs:string"/>
                                    </xs:sequence>
                                    </xs:complexType>
                                    </xs:element>
                                    <xs:element name="ContainerDetails">
                                    <xs:complexType>
                                    <xs:sequence>
                                    <xs:element ref="ContainerDetail" minOccurs="0" maxOccurs="unbounded"/>
                                    </xs:sequence>
                                    </xs:complexType>
                                    </xs:element>
                                    <xs:element name="ContainerDetail">
                                    <xs:complexType>
                                     <xs:sequence>
                                    <xs:element name="Item" type="xs:int"/>
                                    <xs:element name="Quantity"   type="xs:decimal"/>
                                    </xs:sequence>
                                    </xs:complexType>
                                    </xs:element>
                                    <xs:element name="ContainerType">
                                      <xs:complexType>
                                        <xs:sequence>
                                          <xs:element name="DimensionUm"
                                                      type="xs:string"/>
                                          <xs:element name="Height"
                                                      type="xs:decimal"/>
                                          <xs:element name="Length"
                                                      type="xs:decimal"/>
                                          <xs:element name="MaxWeight"
                                                      type="xs:decimal"/>
                                          <xs:element name="Volume"
                                                      type="xs:decimal"/>
                                          <xs:element name="Weight"
                                                      type="xs:decimal"/>
                                          <xs:element name="Width"
                                                      type="xs:decimal"/>
                                        </xs:sequence>
                                      </xs:complexType>
                                    </xs:element>
                                </xs:schema>After adding the attribute uniqueMessageSeparator, if any record in the xml is invalid then my De-batching process is getting stopped. Could you pls let me know if any thing more i have to define in my xsd in order to avoid stopping debatching mode..

  • Xpath Debatching in Orchestration -The part 'part' of message 'Message_In_Copy' contained a null value at the end of the construct block

    Hi ,
    Facing strange issue in Xpath debatching in Orchestration.
    Getting following error in construct shape:
    The part 'part' of message 'Message_In_Copy' contained a null value at the end of the construct block
    Code inside the construct block:
    sXpath = System.String.Format("/*[local-name()='Customers' and namespace-uri()='http://Debatch.Customer']/*[local-name()='Customer' and namespace-uri()='http://Debatch.Customer' and position()={0}]", nLoopCount);
    System.Diagnostics.Debug.WriteLine(sXpath);
    Message_In_Copy= xpath(Message_In, sXpath);
    Schema used:
    <?xml version="1.0" encoding="utf-16"?>
    <xs:schema xmlns="http://Debatch.Customer" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://Debatch.Customer" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="Customers">
    <xs:complexType>
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="unbounded" name="Customer">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="name" type="xs:string" />
    <xs:element name="id" type="xs:string" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    Can anyone help me out ? to identify the root cause for above issue.
    Thanks,
    Kind Regards,
    girsh
    girishkumar.a

    I agree with Shankycheil here, querying XPath will return XMLNode and thus can't be assigned to XMLNode.
    But for debatching in Orchestration using Xpath is not a very good idea. 
    Because using XPATH loads the complete message in memory(XML Structure) and then performs processing.
    This approach is always prone to throwing Out of Memory exception and low in performance also.
    Therefore I would suggest you to perform debatching by calling XML Disassembler(XMLReceive) pipeline.
    As pipeline works with Stream it will have better performance and you will also get complete control over the messages.
    Refer the below samples for debatching using XML Receive pipeline within Orchestration.
    Comparrison between XPATH and ReceivePipeline for Debatching:-
    De-batching within an orchestration using XPath or calling a pipeline
    Debatching within Orchestration using Pipeline-
    http://tech-findings.blogspot.in/2013/07/debatchingsplitting-xml-message-in.html 
    https://jeremyronk.wordpress.com/2011/10/03/how-to-debatch-into-an-orchestration-with-a-pipeline/
    Thanks,
    Prashant
    Please mark this post accordingly if it answers your query or is helpful.

  • Biztalk WCF-SQL polling sample using a FOR XML Path

    I've been searching in the web for a sample that uses FOR XML "PATH" to poll the SQL database . The result returned from my query is a parent child data and FOR XML PATH is the best choice to structure it in that way . I guess I'm missing something while
    generating the schemas from this stored procedure.
    I guess Dan Rosanova has touched on this concept (http://social.technet.microsoft.com/wiki/contents/articles/3480.aspx)
    , but its using XML Auto. Again there is no sample available so makes things a bit difficult.
    Can someone point to a sample walkthrough , generating the schemas and then later using it in the application.
    Thanks
    Anthstone

    I used XMLPolling and it worked for me. you can go for XMLPolling. Steps to be followed:
    1) Create the SP which will have the SELECT query similar to below:
    ;WITH XMLNAMESPACES (default 'http://yourcustomnamespace')
     Select * from Employee FOR XML PATH('YourCustomRootNode') 
    2) Create a schema out of the table using the following query
    Select * from Employee for
    xml
    auto,
    xmlschema 
    3) Re-name the root name and namespace as per you mentioned in point#1 (YourCustomRootNode)
    4) Create an Envelope Schema and refer the schema from point#3. Also make a note of the root node name and namespace that we need to specify
    in the admin console.
    5) Assign the Body XPath to debatch. Refer
    this.  Deploy the solution.
    6) In the Admin console, add the Root Node Name and namespace mentioned in point#4 under "XmlStoredProcedureRoodNodeName" and "XmlStoredProcedureRoodNodeNamespace"
    There you go. I did this for debatching. You can do for nomarl batch message instead of Envelope create a normal document schema.
    Thanks
    SKGuru

  • Is xml dissembler component can convert flatfile to xml file in biztalk

    Hi please see the subject line

    actually, in disassembler stage only one will execute based on "First match" criteria.
    i don't understand why you are trying to use xml disassembler. for it.
    all that you need is, in your schema at record level, set max occur to 1.
    And create separate header and trailer schemas and set those properties in your flat file disassembler component. that's it, it should debatch all your records in your message. 
    No need to use xml disassmbler.
    Please mark the post as answer if this answers your question. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Large input xml request to BPEL

    Does BPEL load the whole input request xml in memory?
    I have a input request having multiple IDs. The oracle business rule transforms 1 id at a time.
    BPEL calls the business rule in flowN for a size of 20. (processes 20 ids at a time)
    The input request size is huge more than 150K ids at a time. Does BPEL load the whole input xml in memory ( DOM tree)?
    what is a better way to do it

    Avoid calling the BPEL process with big payload.
    It loads everything into memory, you could use debatching technique in the file adapter to split the payload into more manageable sizes.
    Do stress testing to check whether its working fine under different loads.
    --Prasanna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • XmlPolling Debatching - Lost target namespace

    Hello guys
    I'm using the WCF-SQL adapter (XmlPolling) to debatch a batch that comes from SQL Server via FOR XML stored procedure. I think I had setup everything fine since I get the message debatched. But I get routing failures because by some reason the namespace
    doesn't appear on the message, what it should be:
    (on context)
    MessageType: RootNode#http://samplenamespace
    is:
    MessageType: RootNode
    Which causes subscription problems. The original schema that has that type also has the namespace, so I don't understand what is causing this problem.
    Any idea? Thanks

    You can change the schema attribute elementFormDefault="qualified". See below
    http://www.w3.org/TR/xmlschema-0/#QualLocals
    In this case all elements in your document got the namespace attribute and extracting node by string manipulations is nemespace safe.
    Thanks
    Abhishek

Maybe you are looking for

  • How to install Arch from hard drive?

    Hello I have an old laptop - Pentium II 266 MHz, 128Mb RAM and I want to install Arch on it. The problem is that there is no way to boot from this laptop -> floppy is broken, CD drive is not bootable, no available boot options from BIOS to boot from

  • Writing data from BW-IP into BW to be reported instantly in BPC 7.5 NW

    Dear all, we are currently designing an integrated BPC 7.5 NW / SAP BW planning environment. Due to various restrictions part of the plan data is supposed to be collected via SAP BW-IP. This is a must have-requirement. At the point of time when the d

  • Help setting up Creative Inspire T6100 (5.1) to HP Laptop

    Hi I recently bought Creative Inspire T600 (5.) speakers. I am unable to connect this to my HP DV6T laptop having only one input for speakers where as creative t600 has 3 pins in black, orange and green colors. I am stuck here. Could anyone please te

  • Default the sound to computer

    I have just got an Apple TV (3) for my education company and I have a sound system in place already. I wish to set my sound to play through the sound system via my computer. However every time I start up the and connect to the apple TV the sound is d

  • Adding values to multiple_tables

    Hi I am puzzled. I am building a vi such that each set of values are added to each table. However, when I connect to 0 value to row input node of insert array function. In the end the tables are filled with empty rows between filled rows. So If I add