Generic File Adapter Schema

I am trying to pick up a .csv file that doesn't comform to a strict format, mainly because of human formatting errors in the file.
I've tried to create a fixed length schema and a comma delimited schema but both fail as soon as they get a file that doesn't exactly fit. How should I create the schema to cope with a file like this?
Regards
Jen

I too am trying to accomplish something similar.
My file is tab delimited and has 10 fields. It begins with 6 lines of header and ends with 1 line of footer. The Header is easy enough to skip over, but the footer is causing me no end of problems because the file Adapter is rejecting the entire file when it hits this malformed line. I tried to turn on uniqueMessageSeparator as ${eol} but that didn't seem to do anything different (I suspect it is because ${eol} is also a field terminator for the last field but I'm not sure).
Ideally I'd like to say any line that has 9 tabs is a Data line, and any line that doesn't is a NotData line but I haven't found any functions that will take a regular expression match as a condition for processing in the XSD.
I tried using the "choice" method of conditional processing but is seems that I must provice a string that is an exact match for nxsd:conditionValue and not a regex. I don't have a spcific string to look for.
I also tried to use the "Sequence" method of conditional processing that will treat any record that doesn't begin with a digit as a NotData Message of 1 string element terminated by ${eol} and any record that begins with 8 digits (which is a date in YYYYMMDD format) as a Data record using the "nxsd:startsWith" function but it seems I can only create multiple message types on files when there is some specific string to test. That's not going to work for me. There is no specific string on the records to identify them. The format of the line could be used to identify the records if a function supporting a regex could be found.
When I tried to deploy the "Sequence" method using a regex for the nxsd:startsWith value it seemed to put my BPEL Process into an infinite loop consuming 100% CPU. I had to kill the app server to stop it.
A detailed reference on how the File Adapter processes files and what functions are available for ignoring bad records and/or conditional processing would be appreciated. Also, any more ideas on how to get this file parsed would be appreciated.

Similar Messages

  • File Adapter - Schema Reference Issue

    Hi Experts,
    I am working on project in SOA Suite 11.1.1.6
    The project has a File Adapter which writes the files to a particular destination.
    Following is the WSDL of WRITE File Adapter :
    <wsdl:definitions name="QCCCEQFileWriteOutbound"
    targetNamespace="XXXXXXXXX"
    xmlns:tns="XXXXXXXXX"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:opaque="http://xmlns.oracle.com/pcbpel/adapter/opaque/"
    xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/">
    <plt:partnerLinkType name="Write_plt">
    <plt:role name="Write_role">
    <plt:portType name="tns:Write_ptt"/>
    </plt:role>
    </plt:partnerLinkType>
    <wsdl:types>
    <schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/opaque/"
    xmlns="http://www.w3.org/2001/XMLSchema">
    <element name="opaqueElement" type="base64Binary"/>
    </schema>
    </wsdl:types>
    <wsdl:message name="Write_msg">
    <wsdl:part name="opaque" element="opaque:opaqueElement"/>
    </wsdl:message>
    <wsdl:portType name="Write_ptt">
    <wsdl:operation name="Write">
    <wsdl:input message="tns:Write_msg"/>
    </wsdl:operation>
    </wsdl:portType>
    </wsdl:definitions>
    When the process is running on TST server, if DEV server is DOWN its throwing this error:
    <bindingFault>
    <part name="summary">
    <summary>Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'Write' failed due to: Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "Could not instantiate InteractionSpec oracle.tip.adapter.file.outbound.FileInteractionSpec due to: XSD Resolution problem. XSD Resolution problem. Unable to load Translation schemas from for http://xmlns.oracle.com/pcbpel/adapter/opaque/ due to: Unable to lookup schema for 'http://xmlns.oracle.com/pcbpel/adapter/opaque/' Please make sure all used XML schemas are imported/included correctly. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. </summary>
    </part>
    <part name="detail">
    <detail>Tried all: '1' addresses, but could not connect over HTTP to server: 'XXXdev.XXXXXXXX.com', port: '80'</detail>
    </part>
    <part name="code">
    <code>null</code>
    </part>
    </bindingFault>
    Why is Test File Adapter WSDL is trying to connect DEV Server. I haven't added anything specific is File Adapter WSDL its the default generated WSDL of File Adapter. I am also not using MDS in project
    Please help me in this regards. Thanks in Advance.

    Hi Mathieu, Vijay,
    Here is the import and reference of File Write Adapter which is failing from composite.xml. It doesn't have any DEV references as its an Adapter pointing to JCA file.
    <import namespace="http://xmlns.oracle.com/pcbpel/adapter/file/XXX/XXXXProcess/XXXFileWriteOutbound"
    location="XXXFileWriteOutbound.wsdl" importType="wsdl"/>
    <reference name="XXXFileWriteOutbound"
    ui:wsdlLocation="XXXFileWriteOutbound.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/pcbpel/adapter/file/XXX/XXXProcess/XXXFileWriteOutbound#wsdl.interface(Write_ptt)"/>
    <binding.jca config="XXXFileWriteOutbound_file.jca"/>
    </reference>
    There are other references which are pointing to DEV, which I replacing with deployment plan. This service is failing at the Adapter call with the message i mentioned in initial post.
    I checked the WSDL Binding in System Mbean Browser - the values are properly replaced with TST URIs.
    Please share your thoughts, thanks again for your response.

  • Receiving "Invalid char in text." error from file adapter

    I'm testing a file adapter and am receiving the following error:
    Invalid char in text.
    The invalid character seems to be the ascii Record Separator character, Hex 1E, HTML &#xa;
    Is it possible for me to modify the file adapter schema to handle this character?

    The HTML description should have been this (minus space characters)
    & # x a ;

  • File Read and Write using File Adapter in Bpel

    In Bpel Process i am using File Adapter ( Schema is Opaque) for read and write the file contents. i am able do successful deployment and read, write function in first time deployment, after that again i tired to run the application, its not going to write the content of file, its only writing the file with out data's or content in that file.
    Please help me...
    Saravanan

    Hi Eric
    In my domain.log file having the following details. In this file im unable to find out what the exact problem. Please look at this and help me.
    <2008-01-22 18:25:42,024> <INFO> <default.collaxa.cube.compiler> validating "C:\product\10.1.3.1\OracleAS_1\bpel\domains\default\tmp\.bpel_BPELProcess2_1.1_298e83988d77b6640c33dfeec11ed31b.tmp\BPELProcess2.bpel" ...
    <2008-01-22 18:25:49,850> <INFO> <default.collaxa.cube.engine.deployment> <CubeProcessFactory::generateProcessClass>
    Process "BPELProcess2" (revision "1.1") successfully compiled.
    <2008-01-22 18:25:49,914> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Loading JCAActivationAgent for {portType=Read_ptt}
    <2008-01-22 18:25:49,914> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> JCAActivationAgent::load - Locating Adapter Framework instance: OraBPEL
    <2008-01-22 18:25:49,930> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> JCAActivationAgent::load - Done loading JCAActivationAgent for processId='bpel://localhost/default/BPELProcess2~1.1/
    <2008-01-22 18:25:49,930> <INFO> <default.collaxa.cube.engine.deployment> Process "BPELProcess2" (revision "1.1") successfully loaded.
    <2008-01-22 18:26:02,698> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> JCAActivationAgent::uninit Shutting down the JCA activation agent, processId='bpel://localhost/default/BPELProcess2~1.0/', activation properties={portType=Read_ptt}
    <2008-01-22 18:26:02,698> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Adapter Framework instance: OraBPEL - performing endpointDeactivation for portType=Read_ptt, operation=Read
    <2008-01-22 18:26:02,698> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> Endpoint De-activation called in adapter for endpoint : D:\MAXIMUS_Project_Softwares\jdevstudiobase10132\jdev\mywork\MyLabs\BPELProcess2\in
    <2008-01-22 18:26:02,698> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> JCAActivationAgent::init - Initializing the JCA activation agent, processId='bpel://localhost/default/BPELProcess2~1.1/
    <2008-01-22 18:26:02,698> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> JCAActivationAgent::initiateInboundJcaEndpoint - Creating and initializing inbound JCA endpoint for:
    process='bpel://localhost/default/BPELProcess2~1.1/'
    domain='default'
    WSDL location='rd.wsdl'
    portType='Read_ptt'
    operation='Read'
    activation properties={portType=Read_ptt}
    <2008-01-22 18:26:02,698> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Adapter Framework instance: OraBPEL - endpointActivation for portType=Read_ptt, operation=Read
    <2008-01-22 18:26:02,730> <INFO> <default.collaxa.cube.activation> <File Adapter::Inbound> Endpoint Activation called in File Adapter for endpoint: D:\MAXIMUS_Project_Softwares\jdevstudiobase10132\jdev\mywork\MyLabs\BPELProcess2\in
    <2008-01-22 18:26:02,730> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Adapter Framework instance: OraBPEL - successfully completed endpointActivation for portType=Read_ptt, operation=Read
    <2008-01-22 18:26:02,890> <WARN> <default.collaxa.cube.activation> <File Adapter::Inbound> PollWork::run exiting, Worker thread will die
    <2008-01-22 18:26:04,171> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> Managed Connection Created
    <2008-01-22 18:26:04,171> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> Connection Created
    <2008-01-22 18:26:04,171> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> FileInteraction Created

  • Reciever File Adapter - Temp File Name Scheme using Variable Substitution

    How can I create a temporary file that uses variable substitution? 
    We are having a problem with files merging when we write files using the "Use Temporary File" setting on the FIle Adapter.  So two independent files are merging into a single file.  We are not using the "Append" setting.
    We would like to use a Temp File Name Scheme that would append the message id onto the temporary file name. 
    Using variable substitution we created a msgid variable.  When added to the temporary file name using %msgid% the temporary file name is created with %msgid% in the name instead of the actual message id.  We put the variable into the "File Name Scheme" as well and the end completed file used the message id in the name.
    Any Ideas?
    Thanks,
    Matt

    HI Matthew,
    Why are you adding the message id into the temporary file??
    I understand that you want the output of the filename to contain message id .. and hence you are using variable substitution for the same.
    Temporary file name will anyways get overwritten by the actual file name (here the actual filename will be using variable substituion).
    So i suggest to achieve your scenario you can add any name in the temporary file and maintain the desired filename you require as output in the variable subsititution.
    Temporary File Name option actually acts as a lock - unlock mechanism from PI side while the file is getting written to the file server so that while PI is writting the file no third party application batch program picks it up.
    I hope this helps.
    Cheers
    Dhwani

  • File Name Scheme - Receiver Adapter

    Hi,
    I have a File Receiver Adapter which is using content conversion to take in XML and output a file. I want the output file to be called EOD286ccyymmdd.txt where ccyymmdd is the current date. Seems to be 2 options for file names:
    1. Add Time Stamp: No use as this adds the Date & Time. I only want the date.
    2. Variables: Don't think I can use this as it only seems to work if the data is part of the XML message packet. The date in ccyymmdd format is not contained in the XML anywhere.
    Is there anyway of getting the File Scheme Name I want ?
    Cheers,
    PaulC.

    Hi,
    You have one option in the File adapter receiver channel: 'Run Operating System command After message processing", where you can give any std OS command or you can give batch file (.bat) to run after the message processing. In batch file, you can write a set of commands which would rename the file according to your name format.
    Another bit complex solution is create your own custom adapter module and change the file name scheme.
    Thanks,
    RK

  • Changing Time Stamp in Receiver Adapter's File Naming Schema.

    Hi All,
    I am working on a ABAP Proxy to File(FTP with FCC) scenario.
    I have a requirement to place the file at FTP with naming schema XSP_SUPPLIER_CC_DD_MM_YYYY.csv.
    I have checked many blogs which talks about Dynamic Configuration, but here the naming schema we fetch is from sender file adapter's ASMA(Adapeter Specific Message Attributes).
    But in my case sender side is ABAP proxy.
    How can I achieve this??
    Please suggest.
    Regards,
    Sachi

    Hi,
    >> but here the naming schema we fetch is from sender file adapter's ASMA(Adapeter Specific Message Attributes).But in my case sender side is ABAP proxy.
    You can use dynamic configuration to not only fetch values from message header you can use it to put values to message heade also.....you can write  UDF (code will look like below) and in the UDF you can create string with required filename and concatinate it with the timestamp...
    try {
    String filename    = "";
    String timestamp = "";
    DynamicConfiguration conf1 = (DynamicConfiguration) container
        .getTransformationParameters()
        .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key1 = DynamicConfigurationKey.create( "http:/"+"/sap.com/xi/XI/System/File","FileName");
    filename = "XSP_SUPPLIER_CC_"sourceFiledValue(Supplier)addtimestamphere+".csv";
    conf1.put(key1,filename);
    return filename;
    catch(Exception e)
         String exception = e.toString();
          return exception;
    Supplier>UDF>TargetMessage
    In the file receiver communication channel check the ASMA property target filename.
    Regards,
    Priyanka

  • File Adapter fixed length Native format Builder schema not reading the data as expected

    Hi
    We are using a File Adapter for reading a fixed length data. Using the schema we are able to read the file but the places are incorrect. Following is the schema that we used and the payload.
    At the last you can find our expected read of data how it should be.
    With out the record type code we are not even reading the file. Hope there should be a correction in the schema. Please suggest
    Schema that we are using:
    <?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"
         xmlns:tns="http://xmlns.energy.com/CreateReturnedItemGENVNDRPReqABCSImplFileAdapterReadReturnedItem"
         targetNamespace="http://xmlns.energy.com/CreateReturnedItemGENVNDRPReqABCSImplFileAdapterReadReturnedItem"
         elementFormDefault="qualified" attributeFormDefault="unqualified" nxsd:version="NXSD" nxsd:stream="chars"
         nxsd:encoding="US-ASCII">
        <xsd:element name="GENVNDRReturnedItem">
            <xsd:complexType>
                <xsd:sequence minOccurs="1" maxOccurs="unbounded" nxsd:choiceCondition="fixedLength" nxsd:length="1">
                    <xsd:element name="HeaderRec" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:startsWith="1">
                        <xsd:complexType>
                            <xsd:sequence>
                                <xsd:element name="RecordTypeCode" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="1" nxsd:padStyle="tail"/>
                                <xsd:element name="PriorityCode" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="2" nxsd:padStyle="tail"/>
                                <xsd:element name="ImmediateDstn" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="10" nxsd:padStyle="tail"/>
                                <xsd:element name="ImmediateOrgin" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="10" nxsd:padStyle="tail"/>
                                <xsd:element name="FileCrDt" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="6" nxsd:padStyle="tail"/>
                                <xsd:element name="FileCrTm" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="4" nxsd:padStyle="tail"/>
                                <xsd:element name="FileIdMdfr" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="1" nxsd:padStyle="tail"/>
                                <xsd:element name="RecSize" type="xsd:string" nxsd:style="fixedLength" nxsd:length="3"
                                     nxsd:padStyle="tail"/>
                                <xsd:element name="BlockingFctr" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="2" nxsd:padStyle="tail"/>
                                <xsd:element name="FormatCd" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="1" nxsd:padStyle="tail"/>
                                <xsd:element name="ImmediateDstnNm" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="23" nxsd:padStyle="tail"/>
                                <xsd:element name="ImmediateOrginNm" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="23" nxsd:padStyle="tail"/>
                                <xsd:element name="RefCd" type="xsd:string" nxsd:style="fixedLength" nxsd:length="8"
                                     nxsd:padStyle="tail"/>
                            </xsd:sequence>
                        </xsd:complexType>
                    </xsd:element>
                    <xsd:element name="BatchHdrRec" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:startsWith="5">
                        <xsd:complexType>
                            <xsd:sequence>
                                <xsd:element name="RecordTypeCode" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="1" nxsd:padStyle="tail"/>
                                <xsd:element name="ServClsCode" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="3" nxsd:padStyle="tail"/>
                                <xsd:element name="CmpnyName" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="16" nxsd:padStyle="tail"/>
                                <xsd:element name="CmpnyDiscretionaryData" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="20" nxsd:padStyle="tail"/>
                                <xsd:element name="CmpnyIdfn" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="10" nxsd:padStyle="tail"/>
                                <xsd:element name="StdClsCode" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="3" nxsd:padStyle="tail"/>
                                <xsd:element name="CmpnyEntryDesc" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="10" nxsd:padStyle="tail"/>
                                <xsd:element name="CmpnyDescDate" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="6" nxsd:padStyle="tail"/>
                                <xsd:element name="EffEntryDate" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="6" nxsd:padStyle="tail"/>
                                <xsd:element name="SettlementDate" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="3" nxsd:padStyle="tail"/>
                                <xsd:element name="OrgntrStatusCode" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="1" nxsd:padStyle="tail"/>
                                <xsd:element name="OrgntrBatchCode" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="15" nxsd:padStyle="tail"/>
                            </xsd:sequence>
                        </xsd:complexType>
                    </xsd:element>
                    <xsd:element name="FileControlRec" nxsd:style="terminated" nxsd:terminatedBy="${eol}"
                         nxsd:startsWith="9">
                        <xsd:complexType>
                            <xsd:sequence>
                                <xsd:element name="RecordTypeCode" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="1" nxsd:padStyle="tail"/>
                                <xsd:element name="BatchCnt" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="6" nxsd:padStyle="tail"/>
                                <xsd:element name="BlockCnt" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="6" nxsd:padStyle="tail"/>
                                <xsd:element name="EntryAddendaCnt" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="8" nxsd:padStyle="tail"/>
                                <xsd:element name="EntryHash" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="10" nxsd:padStyle="tail"/>
                                <xsd:element name="TtlDbtEntryDlrAmt" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="12" nxsd:padStyle="tail"/>
                                <xsd:element name="TtlCrdtEntryDlrAmt" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="12" nxsd:padStyle="tail"/>
                                <xsd:element name="Reserved" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="39" nxsd:padStyle="tail"/>
                            </xsd:sequence>
                        </xsd:complexType>
                    </xsd:element>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
    </xsd:schema>
    Sample data:
    1011390714890 0910000191406110449A094101MCSCLDA_TESTIN    
    XPLLS KNRGO CNNK         
    5200MCSCLDA_TESTIN  e-Bill         
    2390714890TELe-Bill     
    1406100001091000017000001
    6262759774891010000074743
    0000033793102651-013  U  HOLBACH KARLA & JAMES   1091000013925011
    799R01091000013925011 
    27597748                                       
    091000010000001
    820000000200275977480000000337930000000000002390714890                    
    091000010000001
    9000060000025000001200995048661000001265867000000000000                                 
    Read File receive Activity:
    <GENVNDRReturnedItem>
      <HeaderRec>
        <RecordTypeCode>0</RecordTypeCode>
        <PriorityCode>11</PriorityCode>
        <ImmediateDstn>390714890</ImmediateDstn>
        <ImmediateOrgin>0910000191</ImmediateOrgin>
        <FileCrDt>406110</FileCrDt>
        <FileCrTm>449A</FileCrTm>
        <FileIdMdfr>0</FileIdMdfr>
        <RecSize>941</RecSize>
        <BlockingFctr>01</BlockingFctr>
        <FormatCd>M</FormatCd>
        <ImmediateDstnNm>CSCLDA_TESTIN X</ImmediateDstnNm>
        <ImmediateOrginNm>PLLS KNRGO CNNK</ImmediateOrginNm>
        <RefCd></RefCd>
      </HeaderRec>
      <BatchHdrRec>
        <RecordTypeCode>2</RecordTypeCode>
        <ServClsCode>00M</ServClsCode>
        <CmpnyName>CSCLDA_TESTIN e</CmpnyName>
        <CmpnyDiscretionaryData>-Bill 2</CmpnyDiscretionaryData>
        <CmpnyIdfn>390714890T</CmpnyIdfn>
        <StdClsCode>ELe</StdClsCode>
        <CmpnyEntryDesc>-Bill</CmpnyEntryDesc>
        <CmpnyDescDate>1</CmpnyDescDate>
        <EffEntryDate>406100</EffEntryDate>
        <SettlementDate>001</SettlementDate>
        <OrgntrStatusCode>0</OrgntrStatusCode>
        <OrgntrBatchCode>91000017000001</OrgntrBatchCode>
      </BatchHdrRec>
      <FileControlRec>
        <RecordTypeCode>0</RecordTypeCode>
        <BatchCnt>000600</BatchCnt>
        <BlockCnt>000250</BlockCnt>
        <EntryAddendaCnt>00001200</EntryAddendaCnt>
        <EntryHash>9950486610</EntryHash>
        <TtlDbtEntryDlrAmt>000012658670</TtlDbtEntryDlrAmt>
        <TtlCrdtEntryDlrAmt>00000000000</TtlCrdtEntryDlrAmt>
        <Reserved></Reserved>
      </FileControlRec>
    </GENVNDRReturnedItem>
    Expected Read data how we are looking:
    <GENVNDRReturnedItem>
      <HeaderRec>
        <RecordTypeCode>0</RecordTypeCode>
        <PriorityCode>11</PriorityCode>
        <ImmediateDstn>39071489</ImmediateDstn>
        <ImmediateOrgin>0091000019</ImmediateOrgin>
        <FileCrDt>140611</FileCrDt>
        <FileCrTm>0449</FileCrTm>
        <FileIdMdfr>A</FileIdMdfr>
        <RecSize>094</RecSize>
        <BlockingFctr>10</BlockingFctr>
        <FormatCd>1</FormatCd>
        <ImmediateDstnNm>MCSCLDA_TESTIN</ImmediateDstnNm>
        <ImmediateOrginNm>XPLLS KNRGO CNNK</ImmediateOrginNm>
        <RefCd/>
      </HeaderRec>
      <BatchHdrRec>
        <RecordTypeCode>2</RecordTypeCode>
        <ServClsCode>200</ServClsCode>
        <CmpnyName>MCSCLDA_TESTIN</CmpnyName>
        <CmpnyDiscretionaryData>e-Bill</CmpnyDiscretionaryData>
        <CmpnyIdfn>2390714890</CmpnyIdfn>
        <StdClsCode>TEL</StdClsCode>
        <CmpnyEntryDesc>e-Bill</CmpnyEntryDesc>
        <CmpnyDescDate/>
        <EffEntryDate>140610</EffEntryDate>
        <SettlementDate>000</SettlementDate>
        <OrgntrStatusCode>1</OrgntrStatusCode>
        <OrgntrBatchCode>091000017000001</OrgntrBatchCode>
      </BatchHdrRec>
      <FileControlRec>
        <RecordTypeCode>0</RecordTypeCode>
        <BatchCnt>000060</BatchCnt>
        <BlockCnt>000025</BlockCnt>
        <EntryAddendaCnt>00000120</EntryAddendaCnt>
        <EntryHash>0995048661</EntryHash>
        <TtlDbtEntryDlrAmt>000001265867</TtlDbtEntryDlrAmt>
        <TtlCrdtEntryDlrAmt>000000000000</TtlCrdtEntryDlrAmt>
        <Reserved/>
      </FileControlRec>
    </GENVNDRReturnedItem>

    at step 8 of 9 of the file adapter wizard, the icon appears as a cog, on the right, with caption "define schema for native format".
    I have JDev 11..1.1.3.0
    The problem might be with the version of the SOA extensions you have installed....

  • What is the role of Schema in File Adapter

    I am configuring File Adapter during the configuration step - 6 two options are there Schema is Opaque & Schema file url, what is the difference between these two and why it is needed? If It is required then what are the elements should be present at schema?

    +"If native format translation is not required (for example, a JPG or GIF image is being processed), then select the Native format translation is not required check box. The file is passed through in base-64 encoding.+
    +XSD files are required for translation. If you want to define a new schema or convert an existing data type definition (DTD) or COBOL Copybook, then select Define Schema for Native Format. This starts the Native Format Builder wizard. This wizard guides you through the creation of a native schema file from file formats such as comma-separated value (CSV), fixed-length, DTD, and COBOL Copybook. After the native schema file is created, the Messages page is displayed, with the Schema File URL and Schema Element fields filled in. For more information, see Creating Native Schema Files with the Native Format Builder Wizard."+
    http://download.oracle.com/docs/cd/E15523_01/integration.1111/e10231/adptr_file.htm
    Native Data Translation
    maybe that explains it a bit

  • File Adapter strips XML Schema content?

    I'm currently using WLI 7.0 and the File Adapter. When I create an event through
    WLAI and attach my xml schema, WLAI is stripping values from my schema. Is this
    by design?
    Node before import:
    <xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded">
    Node after import:
    <xsd:any minOccurs="0" maxOccurs="unbounded">
    The processContents value is very important since I don't want validation to occur
    on this node. Any ideas?
    Thanks.

    I'm currently using WLI 7.0 and the File Adapter. When I create an event through
    WLAI and attach my xml schema, WLAI is stripping values from my schema. Is this
    by design?
    Node before import:
    <xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded">
    Node after import:
    <xsd:any minOccurs="0" maxOccurs="unbounded">
    The processContents value is very important since I don't want validation to occur
    on this node. Any ideas?
    Thanks.

  • Can I use a schema with no targetnamespace with the file adapter?

    I am loading a file using a file adapter configured to use an xsd from a third party, the third party controls the xsd and incoming xml and does not have a targetnamespace defined in the xsd or xml.
    When I define a file adapter for it the wizard indicates that I need to fix the xsd by adding a namespace. I dont have control over the xsd or xml as they are an external party.
    I think I can hand edit the wsdl and change the import statement that requires a namespace to an include statement with no namespace.
    Have you run into this before? Will that work?
    Thanks,
    John

    Hi John,
    Did we get any solution for this ?
    Even in our case, the third party controls the xsd & incoming xml message. Both does not have a targetnamespace defined. The file adapter wizard indicates that we need to fix the xsd by adding a namespace. As a workaround, we manually added the target namespace to xsd and created file adapater. Now the question is how do we automatically add the name space in xml message as well, so that it can be parsed by BPEL process
    thanks
    Yj

  • Temp File Name Schema in Receiver File adapter

    Hi,
    I have a scenario where i have to write the file in the temperaory location before writing it to the FTP loacation, I have selected the Processing Parameter as "Use Temperory File" but when the file gets created it is padded with the Message Id, is thr any option to get the file name as the temp file name without the Message Id or timestamp.
    Please let me know if any one has come across such scenario.
    thankx,
    shree

    Hi,
    Under Write Mode, specify whether the target file is to be written directly in the specified directory. If an additional step is to be added using a temporary file, choose Use Temporary File.
    You can specify a naming scheme for the temporary file under Temporary File Name Scheme.
    This schema is used to determine the prefix and extension of the temporary file; to ensure a unique file name, a time stamp is also added to the name during processing.
    The schema xitemp.tmp, for example, results in the file name xitemp<timestamp>.tmp
    So you have to customise the file name in schema.
    see below link
    http://help.sap.com/saphelp_nw2004s/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
    Regards
    Chilla

  • 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

  • I have a ipod video and windows vista. computer locks up

    I have computer that is running windows vista 32-bit. Everytime I use itunes I keep getting error messages and I will get the blue screen and the computer restarts. I have updated to itunes 7.3 and my ipod has software version 1.2.1 on it. Any help?

  • Problem using Bridge CS5

    I have a photoshop CS5 and it works fine except Bridge CS5. It works fine on my Mac OSX 10.5.8 but it does not work on my new Mac OS X 10.8.2. When I try to open Bridge from photoshop CS5, error messeage appears and it says " Error2: photoshop is und

  • IMac to iMac via Airport Cards

    2 iMacs, both have Airport Extreme cards. The Office unit is the newer Intel model, running OS 10.5.7, connected to the internet via modem/router (Siemens). The Bedroom unit is old (PowerPC G5). Running OS 10.4.11. I would like to have the Bedroom un

  • PhotoShop CS6 extreme slow running

    PhotoShop CS6 will not run usably on my new iMac 27in. I am using OS 10.8.4. Theother parts of CS6 seem to be fine, but PhotoShop is so impossibly slow (every click takes 20-30 seconds to respond, so a simple scaling of a photograph that would normal

  • Can't receive photos on my iPhone 4

    Can't receive pictures on my iPhone