File Adapter - Debatching & ChunkedRead

Hi ,
Can anybody please tell me what is the difference between File Debatching & ChunkedRead
in File Adapter . How the error handling mechanism differs in these two .
Thanks in Advance ..
Regards,
Surfraz

HI,
please have a look at the documentation
http://docs.oracle.com/cd/E21764_01/integration.1111/e10231/adptr_file.htm#CACJBIGD --- File Debatching
http://docs.oracle.com/cd/E21764_01/integration.1111/e10231/adptr_file.htm#BABCFGAB --- File Chunked Read
Abhinav

Similar Messages

  • [SOLVED] Re: File Adapter + Debatching + uniquemessageseparator

    Hi all
    I am facing a strange problem using File Adapter + Debatching + uniquemessageseparator.
    There are two BPEL servers, both with the same version (10.1.3.3) and running the same BPEL process. The process reads an EDI flat file using uniquemessageseparator property and debatching set to 1 message per instance.
    One of them reads the EDI flat file correclty, the other one sometimes throws an error and doesn´t read the file. Sometimes it reads the file, but this has been an exeption.
    Looking the log file, I guess the problem is related to the way BPEL deal with debatching. I believe it creates temporary directories and temporary files to handle the debatching feature and I guess there is a bug in this technique.
    Log lines for the server that can´t read the file:
    <2007-10-26 16:53:40,404> <INFO> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Translator has failed to translate any message from batch number: 309
    <2007-10-26 16:53:40,404> <INFO> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Message not published as translation failed: {
    File=/tmp/Integracao/testeIntegrado/atualizacao/pi_lms_c001e/3 - CENARIO ALTERNATIVO 1.txt, batchIndex=309, PublishSize=5
    <2007-10-26 16:53:40,405> <INFO> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Translator has failed to translate any message from batch number: 310
    <2007-10-26 16:53:40,405> <INFO> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Message not published as translation failed: {
    File=/tmp/Integracao/testeIntegrado/atualizacao/pi_lms_c001e/3 - CENARIO ALTERNATIVO 1.txt, batchIndex=310, PublishSize=5
    <2007-10-26 16:53:40,405> <INFO> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Translator has failed to translate any message from batch number: 311
    <2007-10-26 16:53:40,405> <INFO> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Message not published as translation failed: {
    File=/tmp/Integracao/testeIntegrado/atualizacao/pi_lms_c001e/3 - CENARIO ALTERNATIVO 1.txt, batchIndex=311, PublishSize=5
    <2007-10-26 16:53:40,406> <INFO> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Translator has failed to translate any message from batch number: 312
    <2007-10-26 16:53:40,406> <INFO> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Message not published as translation failed: {
    File=/tmp/Integracao/testeIntegrado/atualizacao/pi_lms_c001e/3 - CENARIO ALTERNATIVO 1.txt, batchIndex=312, PublishSize=5
    <2007-10-26 17:04:01,720> <INFO> <pi_lms-c001e.collaxa.cube.services> <PurgeTask::purgeTask> Start of purging task for domain = pi_lms-c001e
    <2007-10-26 17:04:01,722> <INFO> <pi_lms-c001e.collaxa.cube.services> <PurgeTask::purgeTask> End of purging task for domain = pi_lms-c001e
    <2007-10-26 17:04:01,726> <INFO> <pi_lms-c001e.collaxa.cube.services> <PurgeTask::purgeTask> Start of purging task for domain = pi_lms-c001e
    <2007-10-26 17:04:01,727> <INFO> <pi_lms-c001e.collaxa.cube.services> <PurgeTask::purgeTask> End of purging task for domain = pi_lms-c001e
    <2007-10-26 17:04:15,258> <INFO> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Debatching error recovery started : Read offset : 5,13,null from debatching control file : /u01/app/oracle/product/10.1.3.1/j2ee/home/fileftp/controlFiles/BpelPiAtualizacaoC001E~1.0/gg05kSGbd1hww+mYZuMepg==/inbound/debatch_err_recovery_2 - CENARIO PRINCIPAL - B.txt
    <2007-10-26 17:04:15,260> <INFO> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Translator has failed to translate any message from batch number: 1
    <2007-10-26 17:04:15,260> <INFO> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Message not published as translation failed: {
    File=/tmp/Integracao/testeIntegrado/atualizacao/pi_lms_c001e/2 - CENARIO PRINCIPAL - B.txt, batchIndex=1, PublishSize=5
    <2007-10-26 17:14:40,424> <INFO> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Debatching error recovery started : Read offset : 5,13,null from debatching control file : /u01/app/oracle/product/10.1.3.1/j2ee/home/fileftp/controlFiles/BpelPiAtualizacaoC001E~1.0/gg05kSGbd1hww+mYZuMepg==/inbound/debatch_err_recovery_2 - CENARIO PRINCIPAL - B.txt
    <2007-10-26 17:14:40,426> <INFO> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Translator has failed to translate any message from batch number: 1
    <2007-10-26 17:14:40,426> <INFO> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Message not published as translation failed: {
    File=/tmp/Integracao/testeIntegrado/atualizacao/pi_lms_c001e/2 - CENARIO PRINCIPAL - B.txt, batchIndex=1, PublishSize=5
    Log lines for the server that reads the file:
    <2007-10-26 17:51:58,386> <DEBUG> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Poller enqueuing file for processing :/tmp/Integracao/testeIntegrado/atualizacao/pi_lms_c001e/2 - CENARIO PRINCIPAL - B.txt
    <2007-10-26 17:51:58,386> <DEBUG> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> File : /tmp/Integracao/testeIntegrado/atualizacao/pi_lms_c001e/2 - CENARIO PRINCIPAL - B.txt is ready to be processed.
    <2007-10-26 17:51:58,386> <DEBUG> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Creating stopwatch for : 2 - CENARIO PRINCIPAL - B.txt
    <2007-10-26 17:51:58,386> <DEBUG> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Processing file : /tmp/Integracao/testeIntegrado/atualizacao/pi_lms_c001e/2 - CENARIO PRINCIPAL - B.txt], ProcessHeadersOnly=[false]
    <2007-10-26 17:51:58,387> <DEBUG> <pi_lms-c001e.collaxa.cube.activation> <AdapterFramework::Inbound> onBatchBegin: Batch 'bpel://localhost/pi_lms-c001e/BpelPiAtualizacaoC001E~1.0//2 - CENARIO PRINCIPAL - B.txt_1193425973000' (/tmp/Integracao/testeIntegrado/atualizacao/pi_lms_c001e/2 - CENARIO PRINCIPAL - B.txt) starting...
    <2007-10-26 17:51:58,387> <DEBUG> <pi_lms-c001e.collaxa.cube.translation> <TranslatorFactory::log> Inside TranslatorFactory
    <2007-10-26 17:51:58,387> <DEBUG> <pi_lms-c001e.collaxa.cube.translation> <TranslatorFactory::log> using version attribute = NXSD
    <2007-10-26 17:51:58,388> <DEBUG> <pi_lms-c001e.collaxa.cube.translation> <TranslatorFactory::log> loading xlator class...oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl
    <2007-10-26 17:51:58,392> <DEBUG> <pi_lms-c001e.collaxa.cube.translation> <TranslatorFactory::log> class loaded
    <2007-10-26 17:51:58,392> <DEBUG> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Created translator : oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl@1673c89
    <2007-10-26 17:51:58,392> <DEBUG> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Setting up Control dir for debatching error recovery
    <2007-10-26 17:51:58,392> <DEBUG> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Inside getUniqueDirectory::ActivationSpec getProcessName for [bpel://localhost/pi_lms-c001e/BpelPiAtualizacaoC001E~1.0/] returned [BpelPiAtualizacaoC001E~1.0]
    <2007-10-26 17:51:58,392> <DEBUG> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> GenUtil::getUniqueDirectory::ActivationSpec [localhost_pi_lms-c001e_BpelPiAtualizacaoC001E~1.0_/LeArquivo//tmp/Integracao/testeIntegrado/atualizacao/pi_lms_c001e] ==> [BpelPiAtualizacaoC001E~1.0/gg05kSGbd1hww+mYZuMepg==]
    <2007-10-26 17:51:58,392> <DEBUG> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> MD5 BaseDir is [u01/app/oracle/product/10.1.3.1/j2ee/home/fileftp/controlFiles/BpelPiAtualizacaoC001E~1.0/gg05kSGbd1hww+mYZuMepg==]
    <2007-10-26 17:51:58,392> <DEBUG> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Control dir for debatching error recovery : /u01/app/oracle/product/10.1.3.1/j2ee/home/fileftp/controlFiles/BpelPiAtualizacaoC001E~1.0/gg05kSGbd1hww+mYZuMepg==/inbound
    <2007-10-26 17:51:58,393> <DEBUG> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Invoking inbound translation for : 2 - CENARIO PRINCIPAL - B.txt
    <2007-10-26 17:51:58,393> <DEBUG> <pi_lms-c001e.collaxa.cube.translation> <NXSDTranslatorImpl::log> Starting translateFromNative using InputStream
    <2007-10-26 17:51:58,405> <DEBUG> <pi_lms-c001e.collaxa.cube.translation> <NXSDTranslatorImpl::log> Done with translateFromNative
    <2007-10-26 17:51:58,405> <DEBUG> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Completed inbound translation for : 2 - CENARIO PRINCIPAL - B.txt
    <2007-10-26 17:51:58,405> <DEBUG> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> isTextFile : true,isXmlFile : false
    <2007-10-26 17:51:58,405> <DEBUG> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Translated inbound batch index "1" of file {2 - CENARIO PRINCIPAL - B.txt} sucessfully.
    <2007-10-26 17:51:58,406> <DEBUG> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> Sending batch to Adapter Framework for posting to BPEL engine: {
    batchId=bpel://localhost/pi_lms-c001e/BpelPiAtualizacaoC001E~1.0//2 - CENARIO PRINCIPAL - B.txt_1193425973000, batchIndex=1, publishSize=1
    <2007-10-26 17:51:58,406> <DEBUG> <pi_lms-c001e.collaxa.cube.ws> <File Adapter::Outbound> File Adapter is configured with Inbound Retry Count = [10] and Inbound Retry Interval =[1] secs for Inbound Retriable Exceptions
    <2007-10-26 17:51:58,406> <DEBUG> <pi_lms-c001e.collaxa.cube.activation> <AdapterFramework::Inbound> [Read_ptt::Read(registroGeral)]Setting inbound JCA message headers to
    <InboundFileHeaderType xmlns="http://xmlns.oracle.com/pcbpel/adapter/file/">
    <fileName>2 - CENARIO PRINCIPAL - B.txt</fileName>
    <directory>/tmp/Integracao/testeIntegrado/atualizacao/pi_lms_c001e</directory>
    <size>659</size>
    <batch>bpel://localhost/pi_lms-c001e/BpelPiAtualizacaoC001E~1.0//2 - CENARIO PRINCIPAL - B.txt_1193425973000</batch>
    <batchIndex>1</batchIndex>
    </InboundFileHeaderType>
    <2007-10-26 17:51:58,407> <DEBUG> <pi_lms-c001e.collaxa.cube.activation> <AdapterFramework::Inbound> [Read_ptt::Read(registroGeral)]Posting inbound JCA message to BPEL Process 'BpelPiAtualizacaoC001E' receive activity:
    Can anyone give me a help?
    Thanks

    Hi all, it is "solved": I found an workaround, but not a real solution. Let me explain:
    When file/ftp adapter starts to read a file using the debatching technique, bpel creates a control file:
    <ORACLE_HOME>/j2ee/home/fileftp/controlFiles/BpelPiAtualizacaoC001E~1.0/gg05kSGbd1hww+mYZuMepg==/inbound/debatch_err_recovery_2 - CENARIO PRINCIPAL - B.txt
    (where "2 - CENARIO PRINCIPAL - B.txt" is the file name)
    This control-file is used by BPEL to control what is the last portion of the EDI flat file that has been read. If the server fails, it continues to read from that point. After the processing, it deletes the control-file.
    However, in some cases BPEL server doesn´t delete the control-file after processing it.
    Therefore, when a new file cames but with THE SAME NAME ("2 - CENARIO PRINCIPAL - B.txt" for instance), BPEL uses the old control-file to process the new file,
    resulting in not processing the file.
    So, the issue is: BPEL is not deleting the control-file in some cases, but I don´t know exactly when this occurs. In my environment, it occurred four times only, and I don´t know exactly how to reproduce it.
    So, when you face an issue like this, try to check that temporary directory.
    Regards
    Marcelo

  • File Adapter debatching in OSB

    Hi,
    I have to debatch a large XML file using File Adapter. I imported the JCA service into OSB project and the debatching works well. Now I need to find out if the current batch is the last batch read from the file? Is there some property etc to find this?
    Thanks for your help.
    Regards,
    sagol

    Thanks !
    I am now facing another problem:The flow is like this
    Proxy Service polls the data --->Business Service--->File
    My requirements are:
    1.convert this into csv--> For this I have created a MFL and used XQuery to map from the database xsd to the MFL
    2.Updated the BS to use MFL.(A small doubt:Where do I specify that I file to be written is csv)
    3.Where do I specify the name of the file to be written
    4.In the proxy service I used routing to the BS.But I didnot apply the messaging constructs such as assign,insert etc ..But the csv file is not written by BS(actually I donot know the usage)
    Please let me know if I am missing any step!
    The error message it shows
    <Jun 17, 2009 7:37:19 PM IST> <Error> <JCATransport> <BEA-381951> <JCA inbound r
    equest only invocation failed, exception: java.security.PrivilegedActionExceptio
    n: com.bea.wli.sb.transports.TransportException: General runtime error: Failed t
    o transform MFL content from XML to binary
    java.security.PrivilegedActionException: com.bea.wli.sb.transports.TransportExce
    ption: General runtime error: Failed to transform MFL content from XML to binary
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
    dSubject.java:373)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.security.Security.runAs(Security.java:61)
    at com.bea.wli.sb.transports.jca.binding.JCAInboundRequestListener.sendM
    essage(JCAInboundRequestListener.java:156)
    at com.bea.wli.sb.transports.jca.binding.JCAInboundRequestListener.post(
    JCAInboundRequestListener.java:71)
    Truncated. see log file for complete stacktrace
    com.bea.wli.sb.transports.TransportException: General runtime error: Failed to t
    ransform MFL content from XML to binary
    at com.bea.wli.sb.transports.TransportException.newInstance(TransportExc
    eption.java:195)
    A lot of thanks!!!
    Regards
    Prabal
    Edited by: user123 on Jun 17, 2009 7:08 AM

  • File Adapter with Debatching

    Hi All
    We are using File Adapter in debatching mode for processing of large files.
    Once all records are processed we need to move the processed file from one location to another on same machine.
    But in case of debatching multiple BPEL theads are processing same file. so how do we know we have reached the end of the file and all processing is done so that we can move that file.
    Thanks
    /Mishit

    This should work : http://kr.forums.oracle.com/forums/thread.jspa?threadID=1024912
    /Mishit

  • 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.

  • How to know when File Adapter is complete when debatching?

    I have a BPEL process that reads in a file and debatches it into records of 1 and inserts them into a table.
    How do I know when the entire process is complete and all records in the file have been handled?

    Thats the problem with the file adapter. If you use it in debatch mode, you cannot really control the different BPEL processes that get spawned off one file.
    The other approach for scenarios where the file is huge, could be to use the adapter in notification mode. So the file adapter will notify the BPEL process, that the file is available, and then BPEL process can read the file using xpath functions or java code etc.
    Hope this helps.
    -@

  • File Adapter giving Translation error while reading & moving pdf files

    Hello Gurus,
    I am on SOA 10.1.3.4 and using BPEL for the below procedure.
    The requirement I have is to move pdf files from one local directory to another as soon as the pdf files land in source directory. So I used a file adapter (FileAdapter_1) to poll the file and read as an opaque schema. Then I copied the name and directory in a header variable and passed the header variable to another file adapter(FileAdapter_2) which moves the file from source to target directory. The jca operation for FileAdapter_2 is as follows:
    <jca:operation
    InteractionSpec="oracle.tip.adapter.file.outbound.FileIoInteractionSpec"
    SourcePhysicalDirectory="foo1"
    SourceFileName="bar1"
    TargetPhysicalDirectory="foo2"
    TargetFileName="bar2"
    Type="MOVE">
    </jca:operation>
    It is working fine for all 90% of pdf files, but some files are failing with the following error in domain.log file.
    2012-02-24 11:15:12,170> <DEBUG> <custst1.collaxa.cube.translation> <TranslatorFactory::log> Inside TranslatorFactory
    <2012-02-24 11:15:12,170> <DEBUG> <custst1.collaxa.cube.translation> <TranslatorFactory::log> using version attribute = NXSD
    <2012-02-24 11:15:12,170> <DEBUG> <custst1.collaxa.cube.translation> <TranslatorFactory::log> loading xlator class...oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl
    <2012-02-24 11:15:12,174> <DEBUG> <custst1.collaxa.cube.translation> <TranslatorFactory::log> class loaded
    <2012-02-24 11:15:12,174> <DEBUG> <custst1.collaxa.cube.translation> <NXSDTranslatorImpl::log> Starting translateFromNative using InputStream
    <2012-02-24 11:15:12,174> <DEBUG> <custst1.collaxa.cube.translation> <XlatorHelper::logDebug> validating payload size
    <2012-02-24 11:15:12,175> <INFO> <custst1.collaxa.cube.activation> <File Adapter::Inbound> Error while translating inbound file : Sample.pdf
    <2012-02-24 11:15:12,175> <INFO> <custst1.collaxa.cube.activation> <File Adapter::Inbound>
    ORABPEL-11104
    Error while translating.
    [Line=1, Col=5] The value "%PDF" read from the native data, from the specified position, using "choiceCondition" as "fixedLength" and "length" as "4", doesnt match any of the "conditionValue" on the particles of choice model group.
    Check the error stack and fix the cause of the error. Contact oracle support if error is not fixable.
    at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.parseNXSD(NXSDTranslatorImpl.java:1312)
    at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.parseNXSD(NXSDTranslatorImpl.java:1142)
    at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.doTranslateFromNative(NXSDTranslatorImpl.java:748)
    at oracle.tip.pc.services.translation.xlators.nxsd.NXSDTranslatorImpl.translateFromNative(NXSDTranslatorImpl.java:509)
    at oracle.tip.adapter.file.inbound.ProcessWork.doTranslation(ProcessWork.java:846)
    at oracle.tip.adapter.file.inbound.ProcessWork.processMessages(ProcessWork.java:380)
    at oracle.tip.adapter.file.inbound.ProcessWork.run(ProcessWork.java:231)
    at oracle.tip.adapter.fw.jca.work.WorkerJob.go(WorkerJob.java:51)
    at oracle.tip.adapter.fw.common.ThreadPool.run(ThreadPool.java:280)
    at java.lang.Thread.run(Thread.java:595)
    <2012-02-24 11:15:12,175> <INFO> <custst1.collaxa.cube.activation> <File Adapter::Inbound> Since a translation exception was thrown, this indicates that it is a non-debatching scenario.
    <2012-02-24 11:15:12,175> <INFO> <custst1.collaxa.cube.activation> <File Adapter::Inbound> Failed to translate file : {common/InboundFiles/Sample.pdf}
    Thanks in advance for your help.......

    As stated in my Original Post, I am using opaque schema for both the adapters, still not sure why the adapter is going through native translation.

  • File Adapter to EJB  in BPEL

    Hi,
    I have one XML file that i am reading using File Adapter in BPEL process. after reading i want to pass those values to EJB Adapter.
    I used Trasform to mapp output variables of File Adapter to Input parameter of EJB service.
    But the Invoke process is not happening.
    How to Pass values from File Adapter to EJB ?
    Thanks

    Hi Sonia
    It is not possible to achieve this using debatching. In fact, the use of the Debatching technique is appropriate when your requirement is exactly the opposed: When you need to run instances simultaneously.
    If you need to process each record sequentially, you should consider using just one instace (not using debatching and let the process reads the entire file), using a while and considering your XML as an array, processing each record as a single unit.
    If the CSV file is too big, you should consider using a process A that breaks the file into smaller files and copy sequentially the small pieces to a directory where process B is reading the entire file.
    []´s
    Marcelo

  • 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

  • File  Adapter :- Handling Large documents

    Hi
    I am currently working on File Adapter. Reading large documents and writing the same in to some other file location.
    I came across the following techniques:
    1. Scalable DOM
    2. File Chunk Read.
    Can any one help me the exact use cases of the above mentioned techniques in File Adapter.
    Thanks

    1. Scalable DOM - is used to move/copy large files intact.
    2. File Chunk Read - is used to process large documents (it uses a while loop).
    When you're using File ChunkRead, you can take a large document with many elements and for each of those elements, perform some operations.
    -----------Documentation-----------
    **Oracle File Adapter Scalable DOM
    http://docs.oracle.com/cd/E23943_01/integration.1111/e10231/adptr_file.htm#BABCHCEI
    This use case demonstrates how a scalable DOM process uses the streaming feature to copy/move huge files from one directory to another.
    The streaming option is not supported with DB2 hydration store.
    You can obtain the Adapters-103FileAdapterScalableDOM sample by accessing the Oracle SOA Sample Code site.
    **Oracle File Adapter ChunkedRead
    http://docs.oracle.com/cd/E23943_01/integration.1111/e10231/adptr_file.htm#BABJFCBH
    This is an Oracle File Adapter feature that uses an invoke activity within a while loop to process the target file. This feature enables you to process arbitrarily large files.
    You can obtain the Adapters-106FileAdapterChunkedRead sample by accessing the Oracle SOA Sample Code site.
    An additional reference that may be helpful is, Handling Binary Content and Large Documents in Oracle SOA Suite 11g
    http://www.oracle.com/technetwork/middleware/soasuite/learnmore/binarycontentlargepayloadhandling-1705355.pdf

  • Processing large file using Debatching - SAX Exception

    Hi,
    I have a large xml file (about 20 mb) to be processed. I implemented the debatching feature and in the file adapter I defined the publish messages in bacthes as 500.
    When I run the process, I expected to see several instances in the console. But I see one instance not in the Instances page but in the Perform Manaul Recovery and nothing seems to be happening.
    Do I need to do anything here. Can anyone please help me here.
    Thanks
    -Prapoorna
    Edited by: p123 on Jun 29, 2009 3:07 PM

    The file is 20 mb.
    Sample xml file is as shown below. I have several attendance_row tags between time_and_attendance.
    <time_and_attendance>
    <attendance_row><oracle_person_id>110758</oracle_person_id>
    <absence_reason>Work Abroad</absence_reason>
    <action_type>A</action_type>
    <date>01/04/2009</date>
    <total_hours>8.6</total_hours>
    <last_update_date>16/06/2009 12:35:47</last_update_date>
    </attendance_row>
    <attendance_row><oracle_person_id>110758</oracle_person_id>
    <absence_reason></absence_reason>
    <action_type>W</action_type>
    <date>01/04/2009</date>
    <total_hours>0</total_hours>
    <last_update_date>16/06/2009 12:35:47</last_update_date>
    </attendance_row>
    <attendance_row><oracle_person_id>110758</oracle_person_id>
    <absence_reason>Work Abroad</absence_reason>
    <action_type>A</action_type>
    <date>02/04/2009</date>
    <total_hours>8.6</total_hours>
    <last_update_date>16/06/2009 12:35:47</last_update_date>
    </attendance_row>
    </time_and_attendance>
    Here is the schema file
    <?xml version="1.0" encoding="UTF-8" ?>
    <!--This Schema has been generated from a DTD. A target namespace has been added to the schema.-->
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://TargetNamespace.com/ReadFile" xmlns="http://TargetNamespace.com/ReadFile" nxsd:version="DTD" xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd">
    <xs:element name="oracle_person_id" type="xs:string"/>
    <xs:element name="total_hours" type="xs:string"/>
    <xs:element name="action_type" type="xs:string"/>
    <xs:element name="last_update_date" type="xs:string"/>
    <xs:element name="absence_reason" type="xs:string"/>
    <xs:element name="attendance_row">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="oracle_person_id"/>
    <xs:element ref="absence_reason"/>
    <xs:element ref="action_type"/>
    <xs:element ref="date"/>
    <xs:element ref="total_hours"/>
    <xs:element ref="last_update_date"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="date" type="xs:string"/>
    <xs:element name="time_and_attendance">
    <xs:complexType>
    <xs:sequence>
    <xs:element maxOccurs="unbounded" ref="attendance_row"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    Thanks
    -Prapoorna
    Edited by: p123 on Jun 29, 2009 3:49 PM
    Edited by: p123 on Jun 29, 2009 7:23 PM

  • FileName in Sender File Adapter Module

    Hi Folks,
    In my sender file adapter have written a module to read the picked file name. The protocol used is NFS.
    Notice that the file name read in the module has the absolute path, including the directory path. E.g The file name xyz has to be picked from source directory
    XIServer\Outbound. In the module when I retrieve the file name, it comes up as
    XIServer\Outbound\xyz. Is this expected behaviour?
    I was expecting just the file name<xyz> to be retrieved.
    Thanks,
    Anand

    HI,
    Create an UDF and write this code.
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key =
    DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String ourSourceFileName = conf.get(key);
    return  ourSourceFileName;
    in Adapter u will have Adapter specific parameters check the file name check box.
    Using this UDF u will get the file name at target side.
    Regards,
    Phani.

  • Getting Error while running a file adapter.

    Hi all,
    I am doing a small application where I need to read an image from a shared path and send the base64code of that image in response. For that I am using File Adapter and Read
    operation. I have just hard coded the image name didnt give any wild card or expressions. I generated a service which is a proxy using the jca of that File Adapter. I added a stage
    replacing the response body with the opaque element of the request body. When I run the proxy I am getting something like *"The invocation resulted in an error: "* in response
    and in the stack trace I am getting *"Failed to set the value of context variable "body". Value must be an instance of {http://schemas.xmlsoap.org/soap/envelope/}Body."* as the fault
    reason I am unable to detect where exactly I am going wrong. Kindly help me in resolving this.
    Thanks,
    Phanindra.

    Not sure why you want to replace. Since the response of the proxy would remain to hold the request body by default.
    If you have stored the opaque element in a variable ($var_opaque), then you can do the following.
    XPath : .
    In variable : body
    Expression : $var_opaque
    Check - "Replace node content"

  • Using a variable in "arrayTerminatedBy" clause while using a file adapter

    Hi All,
    How can read a file of sample shown below using a file adapter.
    ABC|20081010|
    2008|xxxxxxx|
    2007|yyyy|
    2009|zzzzzzz|
    3|20081010|
    first line is the header
    last line is footer
    middle portion is the body
    '3' in the footer is the total no of record count in the body
    I am able to read the header and body.
    The problem i am facing is; when it is reading the footer it is treating the footer as a record in the body and is throwing an error stating - expected the format as "yyyy"
    I have to use "arrayTerminatedBy" to indicate the end of the body. But that terminating field is a varying field. How can i use this variable field in the "arrayTerminatedBy" clause.
    Can any one help in reading this file
    Thanks in advance
    Edited by: user10308218 on 11-Oct-2008 02:23
    Edited by: user10308218 on 11-Oct-2008 02:24

    See if this helps, I haven't tested it but it will give you a hint in how to achieve it. As you can see I use the startsWith command. I'm not sure how to handle your detail as it seems to start with different elements every time.
    cheers
    James
    <?xml version="1.0" encoding="UTF-8" ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
    targetNamespace="http://TargetNamespace.com/Write_File"
    xmlns:tns="http://TargetNamespace.com/Read_File"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified" nxsd:encoding="ASCII" nxsd:stream="chars" nxsd:version="NXSD">
    <xsd:element name="FileRecord">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Header" nxsd:startsWith="ABC|" maxOccurs="1">
    <xsd:complexType>
    <xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
    <xsd:element name="FileDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="&quot;"/>
    <xsd:element name="Record" maxOccurs="unbounded">
    <xsd:complexType>
    <xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
    <xsd:element name="DetailData1" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|" nxsd:quotedBy="&quot;"/>
    <xsd:element name="DetailData2" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="&quot;"/>
    <xsd:element name="Footer" nxsd:startsWith="3|" maxOccurs="unbounded">
    <xsd:complexType>
    <xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
    <xsd:element name="FooterData" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="&quot;"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>

  • Receiver file adapter

    hi all,
    i'm using file adapter receiver and want to generate an fixed length text file. the name of the text file i want to generate it dynamically based on a field of the xml.
    the structure of xml:
    <mt_PO>
      <Header>
      </Header>
      <Detail>
      </Detail>
      <Filename>
        </name>
      </Filename>
    </mt_PO>
    For generate the name of the file i'm using variable substitution in this way:
    var1 ->  payload:mt_PO,1,filename,1,name,1
    and in the file name schema field: PO.%var1%.txt
    this it's correctly done.
    After, for generate the text file in the format i want i use content conversion:
    RecordSet structure:  Header,Detail,filename
    Name                                                Value
    Header.addHeaderLine                        0
    Header.fieldFixedLengths                    2,2,10,10,8,100
    Header.endSeparator                          'nl'
    Detail.fieldFixedLengths                      2,5,18,35,35,13,3,13,5,35,12,40,60,40,10
    Detail.endSeparator                            'nl'
    filename.fieldFixedLengths                  0
    filename.fixedLengthTooShortHandling  Cut
    The problem is that resulting text file is generated with an empty line to the end, and that is my problem. i don't know how to avoid generate that empty line.
    has anybody been in the same scenario and know how to solve this issue?
    Thanks.

    Hi,
    Ok No problem, let me give you the blog which contains all the steps,
    Dynamic Configuration of Some Communication Channel Parameters using Message Mapping
    Here you need to create one UDF in mapping and have to map it with target Message Type.
    Remove the filename from Target side structure.
    Thus at runtime it will take the value from Source side payload (Or you may pass any values in mapping )
    and that will be used in communication channel.
    The given blog have used HTTP as receiver communciation channel.
    For file adapter you need to fill-up below parameters with variable substitution.
    File Name Scheme : %Var1%
    Variable substitution -- enable
    >Var1----
    >message:message_id
    Adapter Specific Attributes
    Mark Filename & Use Adapter Specific attributes.
    PS Note : once you apply this UDF the mapping will give exception while testing from test tab. Let it be.
    This UDF will work on Runtime. Thus execute the scenario to see the results.
    Thanks
    Swarup

Maybe you are looking for

  • How to write to mounted disc image

    I need to add a file to a disc image I created, but it always comes up no write no matter what I do. Anyone know a good tip to do this? Thanks.

  • Approval status at item level

    Hi, I need to know whether the shopping cart item is rejected or not.(need to know the approval status at item level) and then make the rejection reason as mandatory. I tried to get the value of the flag DEDUCT_IND from each item,but it is never set

  • My wrt160n is starting to have a lot of problems.. should i ask for a replacement??

    i had no problems before with this router. but lately i'm noticing a lot. first, it started to reset itself. all my setting went back to default and was configured for open access (unsecured wireless connection). this happened a few times last week.

  • Bootcamp volume reboots to Snow Leopard volume

    i have a mac pro that has boot camp xp, boot camp win 7 and snow leopard on three different hard drives. on the snow leopard volume i have an installation of paralells 7 with a version of windows 7 in this virtual machine. i /think/ at one point the

  • Why are their question marks on my iWeb page borders?

    Hopefully this is an easy one that has been answered, but I can't find any postings. Anyone know why suddenly the borders around pages, text and pictures are now clear/white with question marks in them? We have changed nothing, though this does (coin