Dynamic filename in the file adapter

Hello

I have an obligation to convey the dynamic file name in the file adapter.
Is it possible to pass a variable for the file name attribute in the file adapter.
I'm looking for some options outside %yyMMddHHmmss%,%SEQ%...etc

Please suggest if someone of you has information on how to put the values of a variable to the file name attribute in the file adapter

concerning
Maxim

Hi Philippe,.

Yes it is.
Set the name of the file in a variable, say "fileName".
Now in your call activity (for the specific fileadapter)-> property tab-> find a property call jca.file.FileName-> in the assign variable "Filename" in the value field.
That's all... (assuming you are using 11g)

Arik

Published by: Arik on June 27, 2012 15:12

Tags: Fusion Middleware

Similar Questions

  • Get the name of file that uses the file adapter

    Hello world.

    I know I can get the file name during playback of a file by clicking on properties and jca.filename and by setting a file name by going in the invoke properties when using 'Type' as an input. My question is, can we get the name of the file that the file adapter is used when you specify the file naming convention in the Setup Wizard. For example, you can have the file adapter use filenames like "MyFile%yyMMddHHmmssSSz%.txt". I want to get this information from the file adapter. I thought if the property jca.filename uses 'Type' as 'Input' assign names to files then surely 'Type' as 'exit' get the file name or a file adapter that writes a file, but of course it is not. Does anyone know if this can even be done?

    Thanks in advance.

    Hello

    You can perform a synchronization of read operation (without reading the content of the file) after writing the file in the same BPEL process, to get the name of the file that was written by the write operation.

    Thank you

  • Difference b/w reading synchronous file and read the file adapter Service

    Can someone tell me the difference between synchronous file read the service and the service of simple reading of the file adapter functions.

    where exactly do we use the synchronous file service? Please give me some example of scenario where we can use file synchronous read characteristic of service...

    Synchronous reading is used for playback of files mid process. People tend to use for consuming files based on a business rule. You can specify which files you want to read. An example of this would be an an email is sent telling the faile abc.csv has been downloaded. The BPEL process shuts down gets it. You can also cheange the location of the file dynamically in the process as well.

    Using the file adapter is used to call a process so when a file is placed in a place the BPEL process is called. It is most commonly used.

    see you soon
    James

  • Lots of reading messages using the file adapter

    Hello

    I write XML below in a file using the file adapter in a native format of defined type:

    < root >

    <>cycle

    string < location-tagid > < / location-tagid >

    < gwc-tagid > string < / gwc-tagid >

    < eid > XXXXXXX < / eid >

    < tags >

    < entity-id tag = "string" >

    < lastseen > string < / lastseen >

    < / tag >

    < / tags >

    < / cycle >

    < / root >

    Also, when I write this several times in a file, I get the following file:

    String | string | string

    String | string +.

    String | string | string

    String | string +.

    String | string | string

    String | string +.

    String | string | string

    String | string +.

    String | string | string

    String | string +.

    String | string | string

    String | string +.

    String | string | string

    String | string +.

    String | string | string

    String | string +.

    String | string | string

    String | string +.

    String | string | string

    String | string +.

    Now, I would return the same message in BATCHES of 10 using the File adapter. How do I do that?
    As below:

    < root >

    <>cycle

    string < location-tagid > < / location-tagid >

    < gwc-tagid > string < / gwc-tagid >

    < eid > XXXXXXX < / eid >

    < tags >

    < entity-id tag = "string" >

    < lastseen > string < / lastseen >

    < / tag >

    < / tags >

    < / cycle >

    <>cycle

    string < location-tagid > < / location-tagid >

    < gwc-tagid > string < / gwc-tagid >

    < eid > XXXXXXX < / eid >

    < tags >

    < entity-id tag = "string" >

    < lastseen > string < / lastseen >

    < / tag >

    < / tags >

    < / cycle >

    <>cycle

    string < location-tagid > < / location-tagid >

    < gwc-tagid > string < / gwc-tagid >

    < eid > XXXXXXX < / eid >

    < tags >

    < entity-id tag = "string" >

    < lastseen > string < / lastseen >

    < / tag >

    < / tags >

    < / cycle >

    <>cycle

    string < location-tagid > < / location-tagid >

    < gwc-tagid > string < / gwc-tagid >

    < eid > XXXXXXX < / eid >

    < tags >

    < entity-id tag = "string" >

    < lastseen > string < / lastseen >

    < / tag >

    < / tags >

    < / cycle >

    < / root >

    I tried the 'PublishSize' property, but it does not work. Please let me know.


    Concerning

    Have you looked into playback mode chunked in the FileAdapter.

    I used it at my current client to do a similar thing.

    Check out this blog on this topic:

    http://technology.AMIS.nl/2014/05/07/processing-large-files-through-SOA-Suite-using-synchronous-file-read/

    See you soon,.

    Robert

  • Limit messages using the file adapter

    Hello

    I have a use case where I write only 10 messages in a file using the file adapter. The 11th transaction I should write in another file. Can I do this?

    We have the batch during playback of the file. But can we have it when writing the file.

    Kind regards

    Aditya

    Hi Aditya,

    You can try NumberMessages, it can work for you, even if it isn't exactly what you want...

    NumberMessages

    This property is used for processing outgoing batch. The outgoing file is created when the number of status messages is full. The parameter is of type int and is not mandatory. The default value is 1.

    http://docs.Oracle.com/CD/E28280_01/integration.1111/e10231/adptr_propertys.htm#TKADP1737

    See you soon,.

    Vlad

  • How to read and write files .exe to soa using the file adapter?

    Hello

    I have a requirement, that I need to read and write files .exe to soa using the file adapter.

    Can someone help me.

    Thanks in advance,

    Divya.

    Hi Vijay,

    I tried with opaque. It works for me.

    Kind regards

    Adkins

  • How to manage messages in the file adapter

    Hello...! everyone...
    in the read operation file adapter that he will choose even files, only the file contains unstructure message, but this file will not be processed.
    where the rejected message will.
    I need like this rejected message I have to store it in another file

    Please answer me...

    Hello

    You can add the parameter 'PhysicalErrorArchiveDirectory' in the file JCA (of the file adapter).
    Put the required directory where you want the rejected file to send.

    You can add this property in 2 ways:
    1. in your JDeveloper, open the JCA file and add:
    2 al ' EM, make the composite-> service properties right click / reference-> choose your file-> support on the Properties tab-> choose "PhysicalErrorArchiveDirectory" and put it in the directory-> press on apply.

    Arik

  • How to customize the file adapter to put the header row in a variable?

    I have a file in which the first line contains the number of records in the file itself.
    Like this:

    4
    Record1
    Record2
    record Record3
    record4

    where each record is a list delimited values

    I need to validate that the files are in fact 4.

    in the documentation for the file adapter, I see that you can declare the front-line as a "header", but I feel that in this case it could be simply ignored and not stored in a variable for later use...

    Is this correct?
    Tip or solution?

    Thank you very much!

    Maybe you could use some master / details of construction for this
    have not really looked into it

    http://blogs.Oracle.com/Reynolds/2009/05/mastering_details_with_flat_fi.html

  • How do I get the name of the file that is read by the file adapter

    Hello

    I read the file using the file adapter that I also want to pass the name of the file with the contents of the file
    How can I do this, or how to get the name of the file that is read by the process.

    Please advice

    Thank you
    Yatan

    Hi Yatan,

    You can use the file in/out header WSDL to get the name of the file.
    http://download.Oracle.com/docs/CD/B31017_01/integrate.1013/b28994/adptr_file.htm#CIAFJCCE

    Kind regards
    Yohanna.

  • How to transform the received data from the file adapter

    Hi '.

    I read the data in the XML file using the file adapter, now I want to write the same content I read from this file to a different/new XML file, the problem is that I'm unable to perform a transformation here, when I use a transformation with source element as the output of the reading of file and the target as input in the new file it writes an empty file ,
    I checked the audit trail that showsme that the transformation is empty.
    Please tell me how I transform the item I received a file to make them as input to the next file

    Thank you
    Yatan

    You can post your Transformation_3.xsl, I would also like to see the result of the receipt of the readfile.

    I'm not convinced that this XML is correct. I don't expect to see the element xsd: Schema.

    see you soon
    James

  • How to add records to a file via the file adapter.

    Hi all
    How to add records to a file via the file adapter.

    I must read data from the database and need to add all the records in a file.

    Thanks in advance.

    Hello

    I think you have a while loop to hit the DB in your process (as you said you need to extract data from DB 10 times if 1000 rec is here)
    First sopy your DB O/P to a var
    and second time add to previous data. (Otherwise you can directly use Add to start instead of copy and add)
    When the loop ends, you can turn to the file adapter Var.

    Otherwise, you can configure yourFileadapter as it will be aapend current recordings for previous records.

    You can use 'Append = true' in your adapter wsdl file.
    It will add the previous records to existing records in the same file.

    Concerning
    PavanKumar.M

  • java exception appear during the file adapter manages large xml

    Hi, guys.

    I use the file adapter to query a folder of my local.one get input.xml, then do something, then write output.xml.

    Input.XML format is:
    < my: DataRequestIns xmlns: my = "http://xml.netbeans.org/schema/MessageDefined" >
    <!-1 or more repetitions: - >
    < my: DataIns >
    < my: address > Ang Mo Kio Street 5.63 < / my: address >
    < my: birthday > 14/12/1970 < / my: birthday >
    < my: firstName > Sing1 < / my: firstName >
    < my: gender > 0 < / my: gender >
    < my: ID > 1001 < / my: ID >
    < my: lastName > NorthMan < / my: lastName >
    < my: postcode > 2002 < / my: postcode >
    < my: phone > 6665222 < / my: phone >
    < my: surname > on < / my: surname >
    single of < my: status > < / my: status >
    GSP < my: rental > < / my: rental >
    < my: > 11111 HP1 < / my: HP1 >
    < my: HP2 > 22222 < / my: HP2 >
    < my: passport > 123456878 < / my: passport >
    < my: company > ST < / my: company >
    < my: department > TO < / my: department >
    engineer of < my: occupation > < / my: occupation >
    < my: > 10 experience < / my: experience >
    < my: > 2 < / my: level >
    < my: certificate > top < / my: certificate >
    computer for < my: specialization > < / my: specialization >
    < my: staffNumber > 1020 < / my: staffNumber >
    < my: fax > 00200 < / my: fax >
    < my: email > [email protected] < / my: email >
    GSP < my: national1 > < / my: national1 >
    GSP < my: 2 > < / my: 2 >
    BPEL < my: interestingField > < / my: interestingField >
    land of < my: national > < / my: national >
    < my: overseas > Yes < / my: overseas >
    < / my: DataIns >
    < my: DataIns >
    ......
    < / my: DataIns >
    .....
    < / my: DataRequestIns >
    If my input.xml contain less than 1000 records, then it works, once more than 1000, then appear exception.for normal case, must have more than 10000 records to manage and file size is 11.2 MB.
    so, don't how or otherwise use the file adapter to cope?
    Thank you
    exception:
    SEVERE: An error occurred when parsing for the next trigger to fire.
    org.quartz.JobPersistenceException: failed to get the penny data DB connection
    CRE 'soaNonManagedDS': java.sql.SQLException: not able to retrieve the data source via
    JNDI url ' jdbc/SOALocalTxDataSource' weblogic.jdbc.extensions.ConnectionDeadSQLE
    Exception: weblogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.
    ResourceException: Failed to create the connection to the pool. The DBMS driver exception w
    * as: Socket read timed out [see nested exception: java.sql.SQLException: could no. *]
    * t recover the data source through the JNDI url ' jdbc/SOALocalTxDataSource' weblogic.jdbc.ext *.
    * NS. ConnectionDeadSQLException: weblogic.common.resourcepool.ResourceDeadExc *.
    * reconstructed: 0:weblogic.common.ResourceException: could not create a connection from the pool. T *.
    [* puisne exception driver DBMS: Socket read timed out] *.
    at org.quartz.impl.jdbcjobstore.JobStoreCMT.getNonManagedTXConnection (Jo
    bStoreCMT.java:167)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLoc
    k(JobStoreSupport.Java:3652)
    to org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTrigger (JobSt
    oreSupport.java:2654)
    at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:)
    (* 235) *.
    Caused by: java.sql.SQLException: not able to retrieve the data source through a JNDI url ' jd
    BC/SOALocalTxDataSource ' weblogic.jdbc.extensions.ConnectionDeadSQLException: we
    blogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.ResourceExce
    receiving: could not create a connection from the pool. With the exception of the DBMS driver: Socket r
    EAD expired


    another exception:
    Handle error message.
    error while trying to process the message "com.collaxa.cube.engine.dispatch.
    message.invoke.InvokeInstanceMessage '; the reported exception is: Transaction Ro
    lledback. : weblogic.transaction.internal.TimedOutException: Transaction timed UO
    t 302 seconds
    BEA1-3468FC5E3C698D2A82F7
    at weblogic.transaction.internal.ServerTransactionImpl.wakeUp (ServerTran
    sactionImpl.java:1742)
    at weblogic.transaction.internal.ServerTransactionManagerImpl.processTim
    edOutTransactions(ServerTransactionManagerImpl.java:1609)
    to weblogic.transaction.internal.TransactionManagerImpl.wakeUp (operations
    onManagerImpl.java:1885)
    to weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp (Ser
    verTransactionManagerImpl.java:1519)
    at weblogic.transaction.internal.WLSTimer.timerExpired(WLSTimer.java:35)

    at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
    to weblogic.work.SelfTuningWorkManagerImpl$ WorkAdapterImpl.run (SelfTunin
    gWorkManagerImpl.java:516)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    *; nested exception is: weblogic.transaction.internal.TimedOutException: Transact *.
    ion has expired after 302 seconds
    BEA1-3468FC5E3C698D2A82F7
    This error was an exception that is thrown by the message handler.

    Published by: aris yu on December 27, 2009 23:55

    Hello

    It must explicitly mention batch while the file configuaring adapter.
    that is in step 5: check the file contains several messages and mention how many messages you want to process in a batch.
    i.e. If you have 10000 msgs in your file about the size as 500. Then, it will read 10000 records in 20 lots.

    Now while writing to a file, use Append = true property.
    You must add this property to fileadapter.wsdl (in jca:operation tag) that is created when you have completed the registration of the file with the write operation adapter.

    Concerning
    PavanKumar.M

  • Name of custom file using the file adapter

    Hi all

    Is it possible to name the file based on an XML tag? Maybe use an xpath expression? My requirement is to create a file name something like po2 < PO - NUM > .xml instead of using any sequence or time stamp.

    Thank you.

    I think that you can dynamically set a header "jca.file.FileName".

  • How to use the wildcard character in the name of file, in SyncRead operation in the file adapter.

    Hi all
    Is it possible to use the wildcard character in file name when creating adapter file for SyncRead operation.

    I used write*.txt as the name of the file to read. But got error below->


    file:/C:/product/10.1.3.1/OracleAS_1/BPEL/domains/default/tmp/.bpel_notification2_1.0_93d419d1ca67f87872914bf6daf16180.tmp/readfile3.WSDL [SynchRead_ptt::SynchRead (Empty, are)] - SISM JCA Execute of 'SynchRead' failed due to the operation: no file to process.
    D:\temp\temp1\write*.txt file to process is not found or is not available
    ; nested exception is:
    ORABPEL-11007
    No file to process.
    D:\temp\temp1\write*.txt file to process is not found or is not available
    Check the error stack and correct the cause of the error. Contact oracle support if the error is not repairable.

    Best regards

    Vikash

    You cannot set the wildcard for file names. But you can provide the name of the file dynamically if you're on soa suite 10.1.3.4 minimum. You can get the information about it in this link http://download.oracle.com/docs/cd/E12524_01/relnotes.1013/e12523/adapters.htm#CHDBBFBD

  • Why the file adapter and the FTP adapter are called not transactional

    Hello


    In the sense Oracle SOA Suite of 'Transactional Services no' are services that does not modify data. That's what I read on the internet, but even that dose not justify as in the Oracle doc it is mentioned that:


    Suite of adapter are transactional: DB adapter, adapter to JMS, AQ, MQ, Oracle App adapter adapters

    Suite of adapter are Notransactional : file adapter, the FTP adapter.


    Now, according to the meaning of 'Transactional resource no' must not modify data but I can see operations are the same in the JMS adapter and also file read and write adapter

    In the FTP adapter also I see similar Get and Put operation.


    Maybe I do not get correct sense of the word nontransactional or maybe I'm wrong understand its meaning.

    Please clarify for me why File adapter and adapter FTP are called from other nontransactional maps



    Thank you.


    Transactional here means the ability to participate in a transaction (global or local) and the ability to restore once the treatment fails down the line in the message stream. File, FTP, and other non-transactional adapters do not have this capacity. Therefore the changes through these adapters are not rolled back if message processing meets as matter later in the stream.

    This could be more useful - http://docs.oracle.com/middleware/1213/adapters/TKADP/life_cycle.htm#CIACFIFB

    HTH,

    Sandeep

Maybe you are looking for