Trigger File adapter

Hi,
I’m new to XI. I have a problem with the handling of the File Adapter.
In my scenario a third party system puts a data file into the directory. The directory and file are configured in the file adapter. XI should not transfer the File until the third party system sends a trigger.
How is it possible to start the transfer in XI by an Abap program ? {Which class is necessary to activate the adapter by program ?}
Is there a better way ?
Many Thanks in advance.
Berthold
Message was edited by: Berthold Latka

Hi Berthold
File adapters can only poll for files using a predefined time interval. There is no way to trigger a file adapter to look for a file.
So files will always send to XI as soon as they appear, and the poll interval is passed.
What you can do is build a business process which collects the file and waits for the trigger from R/3. There are some examples in XI SAP BASIS which explains the use of trigger messages.
Kind regards,
Christiaan Schaake.

Similar Messages

  • Need  file adapter polling with read operation to be triggered by a BPEL without using synchronous read

    The scenario is:-
    Web Service Client -->input-->BPEL-->if input valid-->trigger file adapter with read operation--> receive file
    i am not able to stop the polling until it is required to trigger the polling.
    As soon as i deploy the composite the file adapter starts polling without waiting for input.
    Since i am using two receive activities, the second one which is suppose to receive file from file adapter is always showing pending state. (asynchronous callback)

    Hi there,
    IMHO the traditional read is used only as inbound operation, that means
    that it starts polling the input folder as soon as the composite gets
    deployed - which is the same you are experiencing.
    In your case you need an outbound operation that needs to be invoked at
    a certain moment. I don't know what are the reasons not to use sync
    read, but this is the only outbound read operation supported by the
    adapter. If you can not use the sync read, then you would have to design
    some custom solution where you call a web service or EJB for instance
    that reads the desired files.
    Another option I can think of, though have not use personally is using
    the adapters programatically in Java - take a look at this blog post as
    it seems related to this topic -
    https://technology.amis.nl/2012/01/22/using-the-oracle-weblogic-technology-adapters-with-custom-java-message-driven-bean-mdb-triggered-by-file-adapter-part-of-the-story/.
    Hope this helps,
    A.

  • Trigger File Option in SFTP Advantco Sender Adapter

    Hi ,
    What is the purpose of Trigger file option in sender SFTP adapter?When i enabled Advance selection for source file we have this functionality.Can i use this option to delete the multiple files in the same directory instead of using File Name Mask.
    We have scenario to delete 4 files from application server in that only one file should be sent to partner and the rest should be delete from application server.
    Actual solution is to use to use script to delete the rest of the files do we have any other alternative.
    Thanks

    Hi,
    Another alternativet is to write your own customer adapter module and using java programming you can delete remaining 3 files. This is bit complex comapre to script writing but one advantage is with adapter module is that, you can provide the deteted file names with time stamp in the audit log of XI message, which will help in troublshooting if some issue happens.
    Regards,
    RK

  • Sender File Adapter should run only when trigger file is found PI 7.1

    I am using PI 7.1 . I have a File Sender Adapter communication channel that needs to poll for a trigger file - input.trg  . Only If that is found then it needs to pick up the actual data file -  input.dat   .  The Transport Protocol is  FTP not NFS, so I cannot use standard features like   'Addtional Files'. 
    Is there any other workaround for this ? OS Commands etc?
    I have also read that I can use BPM for this . Could anyone help me out with the steps and if you have any good blog on BPM.
    Thanks !

    Hi Dev,
    You can use BPM for this. The steps benig
    1. Fork with two receive step (one for trigger file and one for dat) . The end condition of fork is when both brach is completed.
    2. transformation step
    3. send step
    you can use a dummy correlation between the two input files (trigger and dat input file)..
    Regards
    Suraj

  • FTP Adapter Trigger File Configuration

    Iam using the follwing link for the Trigger File Configuration , but this does not work,
    Can please anybody help me.
    Below is my JCA Configurations in WSDl looks like for my InBound FTP .
    <jca:operation
    FileType="ascii"
    PhysicalDirectory="/DALV1I/incoming/"
    ActivationSpec="oracle.tip.adapter.ftp.inbound.FTPActivationSpec"
    DeleteFile="true"
    IncludeFiles="oc4j\.xml"
    PollingFrequency="1"
    MinimumAge="0"
    OpaqueSchema="true"
    TriggerFilePhysicalDirectory="/DALV1I/incoming/"
    TriggerFile="Purchaseorder.trg" >
    </jca:operation>

    hi
    i am facing the same prioblem whcih kburchil is posted. Error's are posted below. Looking for the solution
    <2008-12-22 17:21:54,593> <DEBUG> <default.collaxa.cube.activation> <File Adapter::Inbound> Host files.oraclecorp.com FTP command: PASS
    <2008-12-22 17:21:54,984> <DEBUG> <default.collaxa.cube.activation> <File Adapter::Inbound> FTP Command: NLST, reply:
    150 ASCII data connection for /bin/ls (/140.87.254.136,15,515) (0 bytes).
    <2008-12-22 17:21:54,984> <DEBUG> <default.collaxa.cube.activation> <File Adapter::Inbound> Control socket being read by [JCA-work-instance:FTP Adapter-14]
    <2008-12-22 17:21:55,734> <DEBUG> <default.collaxa.cube.activation> <File Adapter::Inbound> Sending event: 1 with: oracle.tip.adapter.ftp.FTPConnection@13952a4
    <2008-12-22 17:21:55,734> <DEBUG> <default.collaxa.cube.activation> <File Adapter::Inbound> FTPManagedConnection::destroy called, closing physical socket
    <2008-12-22 17:21:55,734> <DEBUG> <default.collaxa.cube.activation> <File Adapter::Inbound> Clearing Event Listeners
    <2008-12-22 17:21:55,734> <DEBUG> <default.collaxa.cube.activation> <File Adapter::Inbound> Poller enqueuing file for processing :/MySharedFolders/abc/4673202.pdf
    <2008-12-22 17:21:55,734> <DEBUG> <default.collaxa.cube.activation> <File Adapter::Inbound> Ignoring File : 4673202.pdf as it is already enqued for processing.
    Thanks in advance.
    Thanks,
    Synthia

  • File Adapter BPEL Trigger

    Hi,
    This should be a really easy thing to do but I'm obviously missing something simple and fundamental.
    I want to set up a BPEL process that is initiated by the receipt of a file. All I initially want to get from that trigger is the name of the file and pass that value on to the next step in the chain.
    So, I created a new BPEL Process project and added a File Adapter service, filling in all the details for picking up the file from the place that it'll arrive. Reading the "Adapter" manual, I should be able to get the file details (name, directory) by adding UseHeaders="true" into the JCA definition in the File Adapter's WSDL file. I have done this. Doing this creates another WSDL file called fileAdapterInboundHeader.wsdl Now, this is where I get lost. How do I use this?
    By default, a new BPEL Process diagram shows a "Client" Partner Link, a receiveInput activity and a replyOutput activity. The receiveInput activity links from the Client Partner Link and the replyOutput activity links back to the Client.
    So I'm guessing that I need to replace the Client partner link with my new File Adapter service so that the detection of the file starts my BPEL process, rather than some triggered activity from a client.
    This is basically what I've done but it's really not working. How do I get at the filename that's gathered by the File Adapter service? Do I need an XML schema definition to work from?
    Perhaps there's a nice simple example of this somewhere that somebody could point me at? I've been searching but not found anything yet.
    Thanks,
    Andy

    I've written up this procedure in a bit more detail than RedRocker originally provided so that people like me who are complete noobs to BPEL and JDeveloper can do this more easily. The example I give here takes the filename and writes it to a database table. The table just has a FILE_ID column (automatically populated from a sequence by an ON-INSERT trigger) and a CONTENTS column (where the file name goes):
    How-To Get the name of an Input File and store it in a database table column.
    1) Assuming that you're using JDeveloper and you have an Application Workspace, right-click on the Application and choose New Project from the context menu.
    2) In the New Gallery, select Projects and then choose BPEL Process Project from the Items list:
    3) Create an Empty BPEL Process by choosing Empty BPEL Process from the Template dropdown of the BPEL Project Creation Wizard.
    4) This will bring up a completely empty BPEL Process in JDeveloer:
    5) From the Component Palette (top-right), choose Services and then locate the File Adapter Service in the list.
    6) Drag the File Adapter service from the Component panel to one of the Services columns in the main BPEL process designer (centre window). A Wizard will appear.
    7) Enter a name for the Service (eg. GetFileName). Fill in the description if you wish.
    8) Choose Read from the Operation Type list (adjust the Operation Name if you like):
    9) Enter the physical directory (or logical name for one) where the file is to be read from. Decide on whether you want the file to be deleted after it's been read (it won't be re-processed if it's left there since each poll cycle only looks for files that arrived more recently than its previous cycle), and whether to archive the file.
    10) Enter appropriate file selection filter criteria (note that for this BPEL example we're not interested in the file's content at all so the "Files contain Multiple Messages" tickbox and "Publish Messages in Batches of" selector are unimportant):
    11) Select an appropriate Polling Frequency:
    12) Select an Opaque schema (we're not interested in the file's content in this example)
    13) Click Finish
    14) Click OK to close the Partner Link creation wizard
    15) Click Save All.
    16) From the Application Navigator, drill down through the newly created BPEL Project, through the Integration Content folder to find your GetFileName Partner link. Expand this and double-click the GetFileName.wsdl file. In the centre panel, click the Source tab (at the bottom):
    17) Scroll down to the <jca:operation> tag and add the attribute UseHeaders="true" at the end
    18) Click Save All.
    19) Return to the main GetFileName BPEL Process designer by clicking the tab name at the top of the centre window. In the Structure panel (bottom-left), expand the Variables folder, followed by the Process folder and click the exposed Variables folder
    20) Create a variable by clicking the "Wand +" icon.
    21) Give the variable a meaningful name (FileName) and choose Message Type. Click the Browse flashlight:
    22) Choose InboundHeader_msg by drilling down as shown:
    23) Click OK and OK.
    24) In the Component palette (top-right), choose Process Activities from the dropdown list. Locate the Receive activity and drag it to the centre of the middle panel (ie. the BPEL Designer window) into the area marked "Drop Activity Here":
    25) Double-click the new Receive activity to bring up the properties dialogue box. On the General tab, give the activity a meaningful name (eg. ReceiveFilename).
    Click the Browse flashlight next to the Partner Link field and choose GetFileName from the list. The Operation dropdown will automatically show "Read" which is correct.
    26) Click the Auto-Create Variable ("Wand +") icon next to the Variable field. This variable is merely a placeholder for the content of the file being read. Because we've said that the incoming file's schema is Opaque, this variable will not get populated. However, we still need to have a variable. Give the variable a meaningful name (eg. FileContent) and allow the type to be selected automatically and then click OK on the Create Variable dialogue.
    27) Given that we'd want the receipt of a file to be individually traceable, ensure that the Create Instance checkbox is ticked on the General tab:
    28) Click the Adapters tab. Click the Browse flashlight next to the Header Variable field and select the FileName variable from the list presented and click OK:
    29) Click OK on the Receive activity property page to return to the main BPEL Designer screen.
    30) At this point, the data is available within the BPEL process but needs to be assigned to something. In this example, the value is going to be written to the FILE_NAME column in a table called ACH_INUPT_FILE. This will be done through an Insert performed by a Database Adapter. The ACH_INUPT_FILE table is configured to have an ON-INTERT trigger which automatically selects a value from a Sequence for its Primary Key value. Therefore simply inserting a row will provide a Unique value in the FILE_ID column.
    The next thing we need to do is create the Partner Link that performs the Insert operation. This will create a variable which we can assign the File Name to when this new Service is linked into the process flow.
    From the Component panel, choose Services from the dropdown. Locate the Database Adapter service and drag one onto the BPEL Designer page in the Services column.
    The Adapter Configuration wizard appears. Enter a meaningful name from the adapter (eg. WriteFileName). Enter a description if you like and click Next.
    31) Choose the appropriate Connection from the dropdown list. Click Next.
    32) Choose "Perform an Operation on a Table" for the Operation Type and deselect all operations except Insert Only. Click Next.
    33) Click the Import Tables button. From the presented table, ensure that the table that's going to hold the data is selected by shuttling the table from the Available panel to the Selected panel. In this case I've selected the ACH_INPUT_FILE table. Click OK.
    34) The Select Table panel shows the ACH_INPUT_FILE table. Click Next.
    35) In this example there are no further relationships to make, so click Next on the Relationships page:
    36) Click Finish. The Database Adapter's Partner Link properties page is displayed. Note that the Partner Link Type and Partner Role are automatically populated from the information gathered in the previous set of dialogue pages. Note that to change any of those values previously entered, click the Define Adapter Service icon. Click OK.
    37) In the Components Palette, select Process Activities from the dropdown. Locate the Invoke activity and drag one to the main BPEL process flow and drop it immediately below the ReceiveFilename activity.
    38) Double-click the new Invoke activity and the Invoke property panel is shown. On the General tab, give the Invoke activity a meaningful name (eg. InvokeWriteFileName).
    Click the Browse flashlight next to the Partner Link field and select WriteFileName from the list of presented services. Click OK.
    39) Note that the operation "insert" is automatically populated into the Operation dropdown.
    40) Click the Automatically Create Input Variable icon (Wand +) next to the Input Variable field. Accept the default "InvokeWriteFileName_insert_InputVariable". This creates the variable of the right type that's needed by the WriteFileName service.
    41) Click OK to close the WriteFileName Invoke activity property sheet. Note that there is a warning flag next to the new Invoke activity. We need to assign the file name to the Invoke activity's Input Variable.
    42) From the Component Palette, drag an Assign activity so that it sits between the Receive and the Invoke activities in the BPEL flow.
    43) Double-click the new Assign activity and click the General tab. Enter a meaningful name for the activity (eg. AssignFileNameToDBWriteInput).
    44) Click the Copy Operation tab. Click the Create button and select Copy Operation from the list of types.
    45) In the From panel, choose Expression from the Dropdown list. From the panel, click the XPath Expression Builder icon (highlighted).
    46) From the Function list dropdown under the Functions heading, select Conversion Functions. Double-click the "string()" function. This moves the string() function into the Expression panel at the top as shown.
    47) In the Expression panel, click inside the ( and ) brackets. Expand the variable FileName in the BPEL Variables panel below and select the fileName element from the InboundFileHeaderType element. Double-click the fileName to move the XPath expression into the Expression panel:
    48) Click OK. In the To panel, ensure that the Type dropdown shows Variable. Drill into the InvokeWriteFileName_insert_InputVariable and select the element that the file name is to be assigned to. In the example illustrated, the variable is called "contents" but that's just because the table has that as the field name rather than "filename".
    49) Click OK. The Assign property sheet shows the Copy Operation as below:
    50) Click OK. The Invoke operation may still show a warning flag. Click the flag to see the errors/warnings. If there are now errors/warnings shown, click OK to dismiss the panel and the flag will disappear. The BPEL Process is complete and can be deployed.
    It is long-winded, but it might just help somebody else.
    Andy

  • Zero size files in Sender File Adapter

    Hello!
    I have the problem with my Sender File Adapter (ftp).
    Sometimes in ftp directory there are empty files or messages with a zero-sized payload.
    This situation cause an error and Adapter "sleep" until I save-active it in a configuration. (before I removed the 0-size file...).
    Any suggestion?
    Thanks
    Alessandro

    Hi ,
    What the note states is that if your Sender File adapter picks up and empty file, then it would not trigger any message at all.
    So, if what that note says is correct, then I guess for the empty file, the adapter would not ve passed any message to the integration engine.
    Is there any entry in SXMB_MONI? If yes, then it means some message is actaully being passed by the adapter engine to the integration engine which shouldnt have happened at all.
    What does the error message in the File Adapter state?
    Regards,
    Bhavesh

  • Get additional file attachements with file adapter

    Hello,
    Has anyone ever had the following situation:
    A Sender interface sends a little bit of data to XI.
    This data contains the filenames of some files on a FTP server.
    Based on these filename the file needs to be retreived from a FTP server and further handled as an attachement of the XI message?
    Is it possible to trigger a sender file adapter with a variable directory and filename from XI, in a BPM or Mapping?
    Warm Regards,
    Leon Boeijen

    hi,
    >>>>Is it possible to trigger a sender file adapter with a variable directory and filename from XI, in a BPM or Mapping?
    no it's not possible to start a file adapter from BPM
    you can use a java proxy that will do the trick
    we've used a solution like this many times with no big issues
    remember that it's better to use an async java proxy
    (with correlation) then a sync one...
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Need Help-SOA 11g File Adapter unable to delete input file and its crashing

    Hi All
    Please find the details below:
    1. We have created a simple SOA composite to Read file from an input directory, archive the file in an archive directory using Inbound File Adapter Read
    and then use Outbound File Adapter Write to move the file to a output directory.
    2. File Adapter needs to delete the file after successful read/retrieval.
    3. We are using the "Use Trigger File" for invoking the file adapter. This is a new feature in SOA 11g
    4. Also we are using the option of reading the file as an attachment as we are not doing any transformation in the composite
    Issue Details_
    1. When the trigger file is put in the input directory for the first time, the File Adapter reads the file, archives it and moves it to the output directory
    2. However it does not delete the input file from the input directory and raises Fatal Exception mentioned below:
    [*2011-01-12T16:55:48.639+05:30] [soa_server1] [WARNING] [] [oracle.soa.adapter] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@19c243d]*
    [userId: <anonymous>] [ecid: 0000IptyLrL9_aY5TrL6ic1DBOS_000009,0] [APP: soa-infra] File Adapter FileAdapterTriggerFilePOC PostProcessor::
    Delete failed, the operation will be retried for max of [0] times
    [2011-01-12T16:55:48.639+05:30] [soa_server1] [WARNING] [] [oracle.soa.adapter] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@19c243d]
    [userId: <anonymous>] [ecid: 0000IptyLrL9_aY5TrL6ic1DBOS_000009,0] [APP: soa-infra] File Adapter FileAdapterTriggerFilePOC [[
    BINDING.JCA-11042
    File deletion failed.
    File deletion failed.
    File : C:\Dibya\AttachmentTest\InputDir\TestFile3.txt could not be deleted.
    Delete the file and restart server. Contact oracle support if error is not fixable.
    If any one has faced similar issues, kindly provide pointers on how to resolve it.
    Regards,
    Dibya

    Hi,
    Using the file adapter, you can poll from multilple locations...
    Keep the following property in your .jca file
    <property name="DirectorySeparator" value="," />
    While giving the path in File Adapter configuration, keep comma and give the next location....then the file will be picked up from the locations you gave....
    Hope this helps...
    Thanks,
    N

  • Using Java Embedding Unzip Code and a Trigger File in a BPEL Process

    Hello,
    Thanks in advance to anyone that contributes with any insight.  It is much appreciated.  Having said that I will get to the crux of my problem.
    I am currently using Oracle 11g.  I have created a SOA composite application that incorporates BPEL and Java.  I have the code needed to unzip and extract compressed folders.  However, when this was first built out using BPEL it automatically created a web service in the "exposed service" lane and not a file adapter which I believe is needed in order to trigger the process via a start.txt file for example.  Based on what I know ... this web service automatically connecting to the BPEL process was simply due to the order of operations, etc.  So by creating a 'read' file adapter first and then creating the BPEL process and selecting the template "Define Service Later", it does not automatcially connect the web service to the BPEL process and it will allow me to connect a file adapter to this BPEL process instead ... great.  When opening up the BPEL file I then connect a recieve component to this file adapter and configure appropriately.
    Essentially, my objective in setting up a trigger to start this unzip process is due to the BPEL process before that outputs or writes the .zip folder to the same directory that I want to poll and/or trigger via a start.txt file.  I can get this process to work with a webservice connecting to the BPEL process and by using a Java Embedded in BPEL file, which in turns calls the package/ class that has the java code needed to unzip.
    For some reason whenever I try to use a file adapter instead of the native web service that gets created (as mentioned above) it doesn't work.  It seems to build or compile just fine however, I am getting errors when I try to deploy.
    Note:  The Java code contains all the paths where the zip file is to be taken from and extracted to.  So because this is in the code I don't need the file adapter to handle this.  I just want to use the file adapter so that I can trigger the process via start.txt or something of that nature.
    Thanks to anyone that has any suggestions.
    Kind Regards,
    Kevin
    Errors when attempting to deploy are as follows:
    [04:12:54 PM] Error deploying archive sca_Job2_UnZip_rev1.0.jar to partition "default" on server soa_server1 [http://WN017A.homedepot.com:8001]
    [04:12:54 PM] HTTP error code returned [500]
    [04:12:54 PM] Error message from server:
    There was an error deploying the composite on soa_server1: Deployment Failed: Error occurred during deployment of component: BPELProcess1 to service engine: implementation.bpel, for composite: Job2_UnZip: ORABPEL-05250
    Error deploying BPEL suitcase.
    error while attempting to deploy the BPEL component file "H:\Oracle\Middleware\user_projects\domains\Dev_Acorde\servers\soa_server1\dc\soa_d78eb301-314c-422a-a748-bcfe7d0906e8"; the exception reported is: java.lang.RuntimeException: failed to compile execlets of BPELProcess1
    This error contained an exception thrown by the underlying deployment module.
    Verify the exception trace in the log (with logging level set to debug mode).
    [04:12:54 PM] Check server log for more details.
    [04:12:54 PM] Error deploying archive sca_Job2_UnZip_rev1.0.jar to partition "default" on server soa_server1 [http://WN017A.homedepot.com:8001]
    [04:12:54 PM] ####  Deployment incomplete.  ####
    [04:12:54 PM] Error deploying archive file:/C:/JDeveloper/mywork/Job2_UnZip/Job2_UnZip/deploy/sca_Job2_UnZip_rev1.0.jar
    (oracle.tip.tools.ide.fabric.deploy.common.SOARemoteDeployer)

    Just wanted to provide a screenshot of the BPEL file as supporting documentation to better illustrate my issue.
    Thanks so much,
    Kevin

  • Sender File Adapter Not Picking Any File

    Dear Expert,
    I am newbie in PI. Just tried to create File Content Conversion Scenario. Details as follow :
    1. Source Directory ..\file\log\test_q.txt
    2. Target Directory  ..\file\log\xml\test_q.xml
    Transport Protocol : NFS
    Message Protocol : File Content Conversion
    Adapter Engine    : Integration Engine
    I have completed all the design and configuration in IR and ID. However, when I produce the log file in the directory, nothing happen.
    Hacing checked in the RWB as well, I could not find any clue. simply nothing happen.
    Would you please advise me on how to trigger the interface? As per my understanding, sender file adapter will be activated directly once the file is created.
    Thank you very much in advance.
    Best Regards,
    Y

    Hi Yonisiwa,
       Things you should check here are:
    1) If the sender file adapter is active or not.
    2) If the source directory is correctly spelt or not. (Check if you are using the correct slash \ or /)
    3) The file name/mask is correct or not.
    4) The polling interval is too long.
    Alternatively, you can check the message monitoring in RWB at the adapter level and go into the audit log if the message.
    There you can see the reason for the file not being picked up.
    Also check the Communication Channel status in the Component Monitoring link in RWB.
    Regards,
    Ravi Kanth Talagana

  • Sender file adapter Need to Get Only one record Using FCC

    Hi All,
                  I am using File to ABAP Proxy interface, where i need to Trigger my proxy so in my sender file adapter , i need to configure as such it is should take only one record, from whole file i am using Key field parametrs in FCC but it is taking all the records which is not having the key fields also
    please help me
    Thanking you
    Sridhar

    2A64310       1 6V83970       03751650016001154000                    1 6V9961XT-3   13236157001160
    2A64310       1 6V83970                        000                    1 6V9962XT-3   23236162
    2A64730       1 6V83970       03751650016000106000                    1 6V9962XT-3   13236162000112
    2A64730       1 6V83970                        000                    1 6V9961XT-3   23236157
    2A64741 6V99481 6V83971 4S541403751650016000152360                    1 6V9964XT-3   13236168000166
    2A64741 6V99471 6V83971 4S5414                 000                    1 6V9963XT-3   23236167
    2A64772 6V99492 6V83982 3S860605001650017000244000                    2 6V9965XT-3   13289090000248
    2A65690       1 6V97460       07501226872000110000                    11242153L&MP   1
    2A65690       1 6V97460                        000                    11242121L&MP   2
    EOF
    this is sample file , i need to have any one line , cause i need to just trigger a proxy , i am not to going tp take entire file cause in real time i will getting 100 MB file which will be a performance issue

  • Trigger file in Sender File CC

    Hi All,
    I have a query regarding the usage of trigger file in Sender File CC.
    I am triying to pick .XML files only if respective .trg file is existing. My question is when ever there are 10 files where 9 are completely written and have respective .trg but 10th file still being written(which does not have a .trg file), the other 9 files are also not getting picked.it is waiting for the 10th .trg file throowing an error. But in real time these are dynamic files, when one is completed there may be other file being written. Is there any possibility to pick the 9 files which have .trg and leave the 10th file to be written completely and pick that in the next polling.
    Please find the below attachment of configuration.
    Kindly post your solutions on this.
    Thanks & Regards,
    Sandhya

    Hi
    If i understand correctly your 10th file is placing into the folder and it was not completely placed yet.For this as suggested you need to use File Modification Check.
    Coming to trigger file,once your files are ready (File Modification check success) then using some background job, we used Autosys tool to place the trigger file then PI will pick the files.There should be a gap between the background jobs which places actual data files,trigger file and polling of PI channel.
    Please try with SAP SFTP adapter which has more functions compared to normal FILE.In Case of SFTP you no need to use any modules for the payload conversion.
    Thanks

  • File Adapter does not process the same file twice

    SOA: 11.1.1.4 (non-HA).
    I have a file adapter that triggers when a new file gets to a directory; the file is not deleted after the process triggers.
    The process is supposed to call other services via a mediator and if any remote fault happens it should rollback automatically and re-trigger with the same file at the next polling interval.
    I have literally 3 scenarios:
    1). The file gets picked up once, the process fails and the file is never picked up again.
    Msg in log: The file : /xx/xx/xx/abc.xml is being ignored as it has already been processed
    2). If the mediator only routes to one service after the file gets picked up, it works as expect (that is rollback and restart at the next polling interval). If it has more than one sequential routing rule, I see the same error as above.
    3). File does not get picked up EVEN if I "touch" or rename the file.
    Msg in Log:
    File Adapter ProcessName Poller enqueuing file for processing :/xx/xx/xx/abc.xml
    File Adapter ProcessName Ignoring File : abc.xml as it is already enqued for processing.
    I have already checked, there is no permission issue.
    This is what my .jca file looks like:
    <adapter-config name="getFile" adapter="File Adapter" wsdlLocation="getFile.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
    <connection-factory location="eis/FileAdapter" UIincludeWildcard="*"/>
    <endpoint-activation portType="Read_ptt" operation="Read">
    <activation-spec className="oracle.tip.adapter.file.inbound.ScalableFileActivationSpec">
    <property name="DeleteFile" value="false"/>
    <property name="MinimumAge" value="5"/>
    <property name="SingleThreadModel" value="true"/>
    <property name="PhysicalDirectory" value="/xx/xx"/>
    <property name="Recursive" value="false"/>
    <property name="PollingFrequency" value="20"/>
    <property name="IncludeFiles" value=".*"/>
    <property name="UseHeaders" value="true"/>
    <property name="MaxRaiseSize" value="5"/>
    <property name="ListSorter" value="oracle.tip.adapter.file.inbound.listing.TimestampSorterAscending"/>
    </activation-spec>
    </endpoint-activation>
    </adapter-config>
    Thanks for looking into it in advance.
    Any help with the error messages will be appreciated.

    You have to use MOVE operation, if there is any remote exception occured, then move the file to someother folder and again move back to the same folder where the file pickup will start.
    In that way you will be use the same file picked up next time when the polling happens.
    It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
    Thanks,
    Vijay

  • Java exception appear during file adapter to handle large xml

    Hi,Guys,
    I am using file adapter to poll one folder of my local.one get input.xml,then do something,then write out output.xml.
    input.xml format is :
    <mes:DataRequestIns xmlns:mes="http://xml.netbeans.org/schema/MessageDefined">
    <!--1 or more repetitions:-->
         <mes:DataIns>
              <mes:address>Ang Mo Kio 5,63 street</mes:address>
              <mes:birthday>14/12/1970</mes:birthday>
              <mes:firstName>Sing1</mes:firstName>
              <mes:gender>0</mes:gender>
              <mes:ID>1001</mes:ID>
              <mes:lastName>NorthMan</mes:lastName>
              <mes:postcode>2002</mes:postcode>
              <mes:telephone>6665222</mes:telephone>
              <mes:surname>Sur</mes:surname>
              <mes:status>single</mes:status>
              <mes:location>sgp</mes:location>
              <mes:HP1>11111</mes:HP1>
              <mes:HP2>22222</mes:HP2>
              <mes:passport>123456878</mes:passport>
              <mes:company>ST</mes:company>
              <mes:department>TO</mes:department>
              <mes:occupation>engineer</mes:occupation>
              <mes:experience>10</mes:experience>
              <mes:level>2</mes:level>
              <mes:certificate>high</mes:certificate>
              <mes:specialisation>computer</mes:specialisation>
              <mes:staffNumber>1020</mes:staffNumber>
              <mes:fax>00200</mes:fax>
              <mes:email>[email protected]</mes:email>
              <mes:national1>sgp</mes:national1>
              <mes:national2>sgp</mes:national2>
              <mes:interestingField>bpel</mes:interestingField>
              <mes:national>earth</mes:national>
              <mes:oversea>yes</mes:oversea>
         </mes:DataIns>
    <mes:DataIns>
    </mes:DataIns>
    </mes:DataRequestIns>
    if my input.xml contain less than 1000 records,then it's working,once greater than 1000,then appear exception.for normal case ,must have more than 10000 records need to handle,and file size is 11.2MB.
    so,Does any other way or how to use file adapter to handle it ?
    thank you
    exception :
    SEVERE: An error occured while scanning for the next trigger to fire.
    org.quartz.JobPersistenceException: Failed to obtain DB connection from data sou
    rce 'soaNonManagedDS': java.sql.SQLException: Could not retrieve datasource via
    JNDI url 'jdbc/SOALocalTxDataSource' weblogic.jdbc.extensions.ConnectionDeadSQLE
    xception: weblogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.
    ResourceException: Could not create pool connection. The DBMS driver exception w
    *as: Socket read timed out [See nested exception: java.sql.SQLException: Could no*
    *t retrieve datasource via JNDI url 'jdbc/SOALocalTxDataSource' weblogic.jdbc.ext*
    *ensions.ConnectionDeadSQLException: weblogic.common.resourcepool.ResourceDeadExc*
    *eption: 0:weblogic.common.ResourceException: Could not create pool connection. T*
    *he DBMS driver exception was: 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)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTrigger(JobSt
    oreSupport.java:2654)
    at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:
    *235)*
    Caused by: java.sql.SQLException: Could not retrieve datasource via JNDI url 'jd
    bc/SOALocalTxDataSource' weblogic.jdbc.extensions.ConnectionDeadSQLException: we
    blogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.ResourceExce
    ption: Could not create pool connection. The DBMS driver exception was: Socket r
    ead timed out
    another exception:
    Message handle error.
    error while attempting 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 ou
    t after 302 seconds
    BEA1-3468FC5E3C698D2A82F7
    at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTran
    sactionImpl.java:1742)
    at weblogic.transaction.internal.ServerTransactionManagerImpl.processTim
    edOutTransactions(ServerTransactionManagerImpl.java:1609)
    at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(Transacti
    onManagerImpl.java:1885)
    at 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)
    at 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 timed out after 302 seconds
    BEA1-3468FC5E3C698D2A82F7
    This error contained an exception thrown by the message handler.
    Edited by: aris yu on Dec 27, 2009 11:55 PM

    Hi,
    we have to explicitly mention batch while configuaring file adapter.
    i.e. in step 5 : Check file contains multiple messages and mention how many messages u want to process in a batch.
    i.e. if you have 10000 msgs in ur file mention the size as 500. Then it will read 10000 records in 20 batches.
    Now while writing to a file use Append=true property.
    U have to add this property to fileadapter.wsdl (in jca:operation tag) which will be created when u complete the configuaration of file adapter with write operation.
    Regards
    PavanKumar.M

Maybe you are looking for