FTP Adapter - Dynamic JCA properties.

Hi All,
I have a requirement to dynamically assign few jca properties in FTP Adapter as listed below,
FileName
JNDI name
PhysicalDirectory
AchiveDirectory
DeleteFile
UseRemoteArchive
Out of these, i am able to dynamically set the values for Source/Target fileName, JNDIName and Source/Target directory.
<bpelx:inputProperty name="jca.ftp.FileName" variable="SOURCE_FILENAME"/>
<bpelx:inputProperty name="jca.jndi" variable="SOURCE_JNDI"/>
<bpelx:inputProperty name="jca.ftp.Directory" variable="SOURCE_DIRECTORY"/>
Can anyone let me know what values can be used for other properties as well? I tried using the below values, but the values are not changed dynamically.
<bpelx:inputProperty name="jca.ftp.FileArchiveDirectory" variable="SOURCE_ARCHIVE_DIRECTORY"/>
<bpelx:inputProperty name="jca.DeleteFile" variable="DELETE_SOURCE_FILE"/> and <bpelx:inputProperty name="jca.ftp.DeleteFile" variable="DELETE_SOURCE_FILE"/>
<bpelx:inputProperty name="jca.ftp.UseRemoteArchive" variable="ARCHIVE_REQD"/>
Thanks,
Mukesh

Check if this blog is of help to you -
SOA and Oracle Fusion Middleware Blog: Dynamically Set Archive Drectory Location for FTP Transfer

Similar Messages

  • TimestampOffset in FTP Adapter activation agent properties

    Hi all,
    I am having an issue using the "timestampOffset" FTP Adapter activation agent property on an SOA Suite 10.1.3.4/MLR#9 (Linux) system.
    I have a BPEL process that is being launched via the FTP Adapter when a particular file appears on a remote SFTP server. I am polling for this file every 5 mins, and don't want to retrieve it unless it is at least 15 minutes old. The SFTP server from which I am retrieving this file is configured with a different timezone than the SOA Suite server on which the BPEL process is running; the SOA Suite server has a timezone of MST (GMT-7) and the SFTP server has a timezone of GMT. Here is the relevant section from the WSDL for this PartnerLink:
    <jca:operation
    FileType="binary"
    LogicalDirectory="TriggerDirectory"
    ActivationSpec="oracle.tip.adapter.ftp.inbound.FTPActivationSpec"
    DeleteFile="true"
    IncludeFiles="external_ids_trigger\.txt"
    PollingFrequency="300"
    MinimumAge="900"
    ModificationTimeFormatOld="43,54,MMM dd yyyy"
    FileModificationTime="DirListing"
    ModificationTimeFormat="43,54,MMM dd HH:mm"
    OpaqueSchema="true" >
    </jca:operation>
    I attempted to compensate for this by adding the "timestampOffset" property to the activation agent in bpel.xml (also included in the jdev_files.zip attachment); this is detailed in the document "Oracle Application Server Adapters for Files, FTP, Databases, and Enterprise Messaging User’s Guide 10g Release 3 (10.1.3.1.0) B28994-01". Here is the activationAgents section from the bpel.xml file:
    <activationAgents>
    <activationAgent className="oracle.tip.adapter.fw.agent.jca.JCAActivationAgent" partnerLink="PollForTriggerFile">
    <property name="TriggerDirectory" type="LogicalDirectory">/uazsa/uazsaprd/integration/output</property>
    <property name="portType">Get_ptt</property>
    <property name="timestampOffset">25200000</property>
    </activationAgent>
    </activationAgents>
    When deploying this BPEL project to the server, it shows the "timestampOffset" property for the JCA adapter in the log, as follows:
    <2010-01-17 11:23:39,619> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> JCAActivationAgent::initiateInboundJcaEndpoint - Creating and initializing inbound JCA endpoint for:
    process='bpel://localhost/default/External_System_ID_Sync~1.0/'
    domain='default'
    WSDL location='PollForTriggerFile.wsdl'
    portType='Get_ptt'
    operation='Get'
    activation properties={TriggerDirectory=/uazsa/uazsaprd/integration/output, timestampOffset=25200000, portType=Get_ptt}
    However, this setting appears to have no effect, as when the adapter polls for the file, it finds it, but does not process it. I have turned up logging on default.collaxa.cube.activation to DEBUG, and I see the following when it polls for the file:
    <2010-01-17 12:18:40,342> <DEBUG> <default.collaxa.cube.activation> <FTP Adapter::Inbound> Opening sftp channel
    <2010-01-17 12:18:40,342> <DEBUG> <default.collaxa.cube.activation> <FTP Adapter::Inbound> Opening an SFTPChannel
    <2010-01-17 12:18:40,357> <DEBUG> <default.collaxa.cube.activation> <FTP Adapter::Inbound> Opened sftp channel
    <2010-01-17 12:18:40,357> <DEBUG> <default.collaxa.cube.activation> <FTP Adapter::Inbound> Getting list of files in directory: /uazsa/uazsaprd/integration/output
    <2010-01-17 12:18:40,386> <DEBUG> <default.collaxa.cube.activation> <FTP Adapter::Inbound> Obtaining attributes for file: /uazsa/uazsaprd/integration/output/emplids_nouaid.txt
    <2010-01-17 12:18:40,386> <DEBUG> <default.collaxa.cube.activation> <FTP Adapter::Inbound> Obtaining attributes for file: /uazsa/uazsaprd/integration/output/external_ids_trigger.txt
    <2010-01-17 12:18:40,386> <DEBUG> <default.collaxa.cube.activation> <FTP Adapter::Inbound> Timestamp from fileInfo=[1263770351000]
    <2010-01-17 12:18:40,386> <DEBUG> <default.collaxa.cube.activation> <FTP Adapter::Inbound> Current System Time : 02010.January.17 12:18:40:386
    <2010-01-17 12:18:40,386> <DEBUG> <default.collaxa.cube.activation> <FTP Adapter::Inbound> File Modification Time : 02010.January.17 16:19:11:00
    <2010-01-17 12:18:40,386> <DEBUG> <default.collaxa.cube.activation> <FTP Adapter::Inbound> The file : /uazsa/uazsaprd/integration/output/external_ids_trigger.txt is being ignored as its minimum age period is still valid for -> 15330614 milliseconds.
    <2010-01-17 12:18:40,386> <DEBUG> <default.collaxa.cube.activation> <FTP Adapter::Inbound> Obtained a list files
    <2010-01-17 12:18:40,386> <DEBUG> <default.collaxa.cube.activation> <FTP Adapter::Inbound> Closing sftp channel
    <2010-01-17 12:18:40,386> <DEBUG> <default.collaxa.cube.activation> <FTP Adapter::Inbound> Closing SFTP Channel oracle.tip.adapter.ftp.SshImpl.SFTPChannelImpl@f1c9c6
    <2010-01-17 12:18:40,387> <DEBUG> <default.collaxa.cube.activation> <FTP Adapter::Inbound> Closed sftp channel
    What needs to be done to have the timestampOffset property in bpel.xml honored by the activation agent? Any help is greatly appreciated! I have opened up an SR with Oracle on this as well, but sometimes the forums prove to be a quicker path to problem resolution. :)
    Thanks,
    --Gary                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Thanks for the reply, Anirudh.
    Can you elaborate? The last part of section A.3.3. in the URL you posted is exactly what I did...I specified the "timestampOffset" property to the activation agent properties in bpel.xml. I specified the offset as the time difference (in milliseconds): 7 hrs = 7*60*60*1000 = 25200000. The value they provide in that example is puzzling: 2592000000 would be an offset of 720 hours! Maybe I'm misunderstanding something about this property?
    Thanks,
    --Gary
    Edited by: user2088227 on Jan 17, 2010 8:25 PM

  • Passing parameters dynamically to an FTP adapter

    Hi All
    We have a requirement to pass the FTP location to the FTP adapter dynamically based on a small check condition.
    We have used the following XML fragment to pass the ftp location from the assign statement instead of specifying it in the FTP adapter
    *<EndpointReference xmlns="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx">*
    *<Address> FTP Address </Address>*
    *</EndpointReference>*
    In the "Assign" activity this is mapped to the respective partner link, which is the ftp adapter
    The "FTP address" gives the address to which the file has to be put into.
    Can this FTP address be provided to this "Assign" activity dynamically or is there any other method for the same?
    The solution must be such that further addition of conditions and mainly FTP locations must be easy.

    http://darwin-it.blogspot.com/2008/03/configuration-of-ftp-synchronous-get.html can help you. You can't change the jca:address="<ftp_conn_factory>" but you can change few parameters like host, port, username and password.
    If you just want to change the directory details or so, such feature has been introduced in 10.1.3.4. Please visit http://download.oracle.com/docs/cd/E12524_01/relnotes.1013/e12523/adapters.htm#BCFJAGIF, refer to section 11.4.2.1. You can define header variable for Adapter invocation in Invoke Activity. Hope this will help you.

  • FTP Adapter setting filename at runtime not working

    Hi,
    I am facing an issue SOA 11.1.1.5 with FTP Adapter setting the filename at runtime. I have a process that reads a file from local server and puts it over to a remote FTP Server.
    I want to use the same filename that is picked up locally and placed on the ftp location. Below is the snippet of FTP Invoke and the filename is read from a variable which is set before the invoke
    <invoke name="Invoke_PutFile"
    inputVariable="Invoke_PutFile_PutFile_InputVariable"
    partnerLink="PutFile" portType="ns2:PutFile_ptt"
    operation="PutFile" bpelx:invokeAsDetail="no">
    <bpelx:inputProperty name="jca.file.TargetFileName" variable="targetFileName"/>
    </invoke>
    Here is the FTP jca file snippet
    <endpoint-interaction portType="PutFile_ptt" operation="PutFile">
    <interaction-spec className="oracle.tip.adapter.ftp.outbound.FTPInteractionSpec">
    <property name="LogicalDirectory" value="FtpDir"/>
    <property name="FileType" value="ascii"/>
    <property name="Append" value="false"/>
    <property name="TargetFileName" value="setAtRunTime"/>
    <property name="NumberMessages" value="1"/>
    </interaction-spec>
    </endpoint-interaction>
    But when I test I am getting an error, it's complaining Cannot set JCA WSDL Property. Error while setting JCA WSDL Property. Property setTargetFileName is not defined for oracle.tip.adapter.ftp.outbound.FTPInteractionSpec Please verify the spelling of the property. ".
      Fault Details : com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.oracle.com/bpel/extension}bindingFault} messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage} parts: {{ summary=Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'PutFile' failed due to: Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "Could not instantiate InteractionSpec oracle.tip.adapter.ftp.outbound.FTPInteractionSpec due to: Cannot set JCA WSDL Property.
    Error while setting JCA WSDL Property. Property setTargetFileName is not defined for oracle.tip.adapter.ftp.outbound.FTPInteractionSpec Please verify the spelling of the property. ".
    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. ,detail=Cannot set JCA WSDL Property.
    Error while setting JCA WSDL Property. Property setTargetFileName is not defined for oracle.tip.adapter.ftp.outbound.FTPInteractionSpec Please verify the spelling of the property. ,code=null}
      If I use *<property name="FileNamingConvention" value="%yyMMddHHmmssSS%_%SEQ%.txt"/>* inside the jca file it works but I want to use the filename at runtime and be the same name as it's picked up.
    Any idea what I am doing wrong.
    Thanks

    .bpel file
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <!--
      Oracle JDeveloper BPEL Designer
      Created: Mon Jun 03 10:33:49 CDT 2013
      Author: 
      Type: BPEL 1.1 Process
      Purpose: Empty BPEL Process
    -->
    <process name="SharedServiceFtpFileMove"
                   targetNamespace="http://xmlns.oracle.com/SOALocal/SharedServiceFtpFileMove/SharedServiceFtpFileMove"
                   xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
                   xmlns:client="http://xmlns.oracle.com/SOALocal/SharedServiceFtpFileMove/SharedServiceFtpFileMove"
                   xmlns:ora="http://schemas.oracle.com/xpath/extension"
                   xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
             xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/file/SOALocal/SharedServiceFtpFileMove/FilePoller"
             xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/ftp/SOALocal/SharedServiceFtpFileMove/PutFile"
             xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
             xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
             xmlns:oraext="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
             xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
             xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
             xmlns:bpm="http://xmlns.oracle.com/bpmn20/extensions"
             xmlns:xdk="http://schemas.oracle.com/bpel/extension/xpath/function/xdk"
             xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
             xmlns:ns5="http://xmlns.oracle.com/SharedServiceEmailNotification/xsd/V1"
             xmlns:ns4="http://xmlns.oracle.com/pcbpel/adapter/opaque/"
             xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap">
      <!--
         ORCHESTRATION LOGIC                                              
         Set of activities coordinating the flow of messages across the   
         services integrated within this business process                 
      -->
      <partnerLinks>
        <partnerLink name="FilePoller" partnerLinkType="ns1:ReadFile_plt"
                     myRole="ReadFile_role"/>
        <partnerLink name="PutFile" partnerLinkType="ns2:PutFile_plt"
                     partnerRole="PutFile_role"/>
      </partnerLinks>
      <variables>
        <variable name="Receive_ReadFile_InputVariable"
                  messageType="ns1:ReadFile_msg"/>
        <variable name="sourceFileName" type="xsd:string"/>
        <variable name="targetFileName" type="xsd:string"/>
        <variable name="Invoke_PutFile_PutFile_InputVariable"
                  messageType="ns2:PutFile_msg"/>
        <variable name="FtpJndi" type="xsd:string"/>
      </variables>
      <faultHandlers>
        <catchAll>
          <sequence name="Sequence1">
            <terminate/>
          </sequence>
        </catchAll>
      </faultHandlers>
      <sequence name="main">
        <receive name="Receive" createInstance="yes"
                 variable="Receive_ReadFile_InputVariable"
                 partnerLink="FilePoller" portType="ns1:ReadFile_ptt"
                 operation="ReadFile">
          <bpelx:property name="jca.file.FileName" variable="sourceFileName"/>
        </receive>
        <assign name="Assign_Data">
          <copy>
            <from variable="sourceFileName"/>
            <to variable="targetFileName"/>
          </copy>
          <copy>
            <from expression="'eis/Ftp/FtpAdapter'"/>
            <to variable="FtpJndi"/>
          </copy>
        </assign>
        <assign name="Assign_Invoke">
          <copy>
            <from variable="Receive_ReadFile_InputVariable" part="opaque"/>
            <to variable="Invoke_PutFile_PutFile_InputVariable" part="opaque"/>
          </copy>
        </assign>
        <invoke name="Invoke_PutFile"
                inputVariable="Invoke_PutFile_PutFile_InputVariable"
                partnerLink="PutFile" portType="ns2:PutFile_ptt"
                operation="PutFile" bpelx:invokeAsDetail="no">
          <bpelx:inputProperty name="jca.ftp.TargetFileName" variable="targetFileName"/>
          <bpelx:inputProperty name="jca.jndi" variable="FtpJndi"/>
        </invoke>
      </sequence>
    </process>File Adapter Poller jca
    <adapter-config name="FilePoller" adapter="File Adapter" wsdlLocation="FilePoller.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
      <connection-factory location="eis/FileAdapter" UIincludeWildcard="*-*.txt"/>
      <endpoint-activation portType="ReadFile_ptt" operation="ReadFile">
        <activation-spec className="oracle.tip.adapter.file.inbound.FileActivationSpec">
          <property name="DeleteFile" value="true"/>
          <property name="LogicalArchiveDirectory" value="FtpLocalArchive"/>
          <property name="MinimumAge" value="0"/>
          <property name="Recursive" value="true"/>
          <property name="PollingFrequency" value="15"/>
          <property name="LogicalDirectory" value="FtpLocalFiles"/>
          <property name="IncludeFiles" value=".*-.*\.txt"/>
          <property name="UseHeaders" value="false"/>
        </activation-spec>
      </endpoint-activation>
    </adapter-config>Ftp Adapter put jca
    <adapter-config name="PutFile" adapter="FTP Adapter" wsdlLocation="PutFile.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
      <connection-factory location="eis/Ftp/FtpAdapter"/>
      <endpoint-interaction portType="PutFile_ptt" operation="PutFile">
        <interaction-spec className="oracle.tip.adapter.ftp.outbound.FTPInteractionSpec">
          <property name="LogicalDirectory" value="FtpDir"/>
          <property name="FileType" value="ascii"/>
          <property name="Append" value="false"/>
          <property name="TargetFileName" value="setAtRunTime"/>
          <property name="NumberMessages" value="1"/>
        </interaction-spec>
      </endpoint-interaction>
    </adapter-config>Thanks

  • What is the maximum filesize for a FTP Adapter?

    I have xml files with 1000's of records to read in. The file size can range anywhere from a few MB up to ~100MB. Most of them are about 50 MB.
    The FTP adapter works when I have a small file, but with larger ones it apparently times out. Once it runs into a big file like this, it won't process any more files until I restart the process. It doesn't show any faults or even any record of a running instance in the BPEL Console, so I have no idea specifically when it breaks. I uploaded a 10MB file to my ftp server and left it for a half hour, but nothing showed up, so I'm assuming it's broken rather than just taking a long time.
    What is the maximum file size for a FTP adapter? Can I change this somewhere? I looked in the ...\application-deployments\default\FtpAdapter\oc4j-ra.xml file but couldn't find any settings to change.

    Well no luck on my end and it doesn't look like anybody else has any ideas either. This thread Re: FTP Adapter, Java Embedding, ... says that if you can't get the functionality you need out of the default one, you should write your own FTP adapter in JCA. I looked at JCA and would like to write a simple polling adapter and then put all my FTP code in embedded java.
    Can somebody explain how I could achieve the basic FTP Adapter polling functionality in JCA? I'm having difficulty figuring out how to have an ongoing polling process without instantiating a BPEL process itself, like the existing FTP adapter does. I don't want to set off on writing my own adapter if it's going to be a much larger undertaking than I have time for.
    Also, is the source code open for the default FTP adapter? It would be great if I could just modify the few things I need to change rather than write one from scratch.

  • Does Interconnect FTP Adapter support SFTP/SSH?

    Does Interconnect FTP Adapter support SFTP/SSH?
    Thanks!
    -mb

    No it doesn't!
    Actually, FTP adapter in BPEL support secure FTP (FTPS, FTP over SSL), but only on Solaris platform if believe documentation.
    You can try to connect BPEL FTP adapter to InterConnect using new JCA adapter (in IC 10.1.2.0.2), but I'm not sure wether BPEL FTP adapter is JCA-compatable or not (since it is not in Oracle AS adapters package but inside BPEL)...

  • Dynamic JNDI in FTP Adapter | jca.jndi property not picked by Adapter

    Hi,
    I am trying to pass jndi dynamically to FTP adapter using the steps mentioned in http://blogs.oracle.com/adapters/entry/changing_the_connection_factory_jndi_dynamically_in_ftp_adapter.
    I have configured FTP jndi(eis/Ftp/SoaFtpAdapter) at app server.
    And included the following property in the invoke activity that calls the FTP adapter
    <bpelx:inputProperty name="jca.jndi" variable="jndiLocation"/>
    Invoke activity definition looks as following
        <invoke name="Invoke1"
                partnerLink="FTPFileListAdap" portType="ns3:FileListing_ptt"
                operation="FileListing"
                inputVariable="Invoke1_FileListing_InputVariable"
                outputVariable="Invoke1_FileListing_OutputVariable"
                bpelx:invokeAsDetail="no">
          <bpelx:inputProperty name="jca.jndi" variable="jndiLocation"/>
          <bpelx:toProperties>
            <bpelx:toProperty name="jca.ftp.Directory" variable="directoryName"/>
          </bpelx:toProperties>   
        </invoke>FTP Adapter jca configuration is as following
    <adapter-config name="FTPFileListAdap" adapter="FTP Adapter" wsdlLocation="FTPFileListAdap.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
      <connection-factory location="eis/Ftp/SoaFtpAdapter12" UIincludeWildcard="*.txt"/>
      <endpoint-interaction portType="FileListing_ptt" operation="FileListing">
        <interaction-spec className="oracle.tip.adapter.ftp.outbound.FTPListInteractionSpec">
          <property name="PhysicalDirectory" value="/in/dev"/>
          <property name="Recursive" value="true"/>
          <property name="IncludeFiles" value=".*\.txt"/>
        </interaction-spec>
      </endpoint-interaction>
    </adapter-config>While calling the BPEL i am passing two parameters
    jndiLocation = eis/Ftp/SoaFtpAdapter
    and
    directoryName = /in/dev
    Following is the fault that I am getting while executing the BPEL.
    <fault>
    <bpelFault>
    <faultType>0</faultType>
    <bindingFault>
    <part  name="summary">
    <summary>Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'FileListing' failed due to: JCA Binding Component connection issue. JCA Binding Component is unable to create an outbound JCA (CCI) connection. RunTimeConfigFTP:FTPFileListAdap [ FileListing_ptt::FileListing(Empty,filelist) ] : The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: BINDING.JCA-12510 JCA Resource Adapter location error. Unable to locate the JCA Resource Adapter via .jca binding file element <connection-factory/> The JCA Binding Component is unable to startup the Resource Adapter specified in the <connection-factory/> element: location='eis/Ftp/SoaFtpAdapter12'. The reason for this is most likely that either 1) the Resource Adapters RAR file has not been deployed successfully to the WebLogic Application server or 2) the '<jndi-name>' element in weblogic-ra.xml has not been set to eis/Ftp/SoaFtpAdapter12. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR). Please correct this and then restart the Application Server Please make sure that the JCA connection factory and any dependent connection factories have been configured with a sufficient limit for max connections. Please also make sure that the physical connection to the backend EIS is available and the backend itself is accepting connections. ". 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>JCA Resource Adapter location error. Unable to locate the JCA Resource Adapter via .jca binding file element <connection-factory/> The JCA Binding Component is unable to startup the Resource Adapter specified in the <connection-factory/> element: location='eis/Ftp/SoaFtpAdapter12'. The reason for this is most likely that either 1) the Resource Adapters RAR file has not been deployed successfully to the WebLogic Application server or 2) the '<jndi-name>' element in weblogic-ra.xml has not been set to eis/Ftp/SoaFtpAdapter12. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR). Please correct this and then restart the Application Server </detail>
    </part>
    <part  name="code">
    <code>12510</code>
    </part>
    </bindingFault>
    </bpelFault>
    </fault>It seems that FTP Adapter is not picking up the value from jca.jndi property.
    How to handle this situation.
    Thanks
    Ajay

    Hi,
    Since I am working on BPEL 2.0
    Following changes solved my problem.
    In the invoke activity, I replaced the following xml tag
          <bpelx:inputProperty name="jca.jndi" variable="jndiLocation"/>with following
          <bpelx:toProperties>
            <bpelx:toProperty name="jca.jndi" variable="jndiLocation"/>
          </bpelx:toProperties> And now my invoke activity looks as follow.
        <invoke name="Invoke1"
                partnerLink="FTPFileListAdap" portType="ns3:FileListing_ptt"
                operation="FileListing"
                inputVariable="Invoke1_FileListing_InputVariable"
                outputVariable="Invoke1_FileListing_OutputVariable"
                bpelx:invokeAsDetail="no">
          <bpelx:toProperties>
            <bpelx:toProperty name="jca.ftp.Directory" variable="directoryName"/>
          </bpelx:toProperties>   
          <bpelx:toProperties>
            <bpelx:toProperty name="jca.jndi" variable="jndiLocation"/>
          </bpelx:toProperties>      
        </invoke>Thanks
    Ajay

  • How to change the JCA JNDI dynamically using FTP Adapter

    We have 5 FTP Servers, each having a directory to poll. We have created 5 CCI instances for these FTP Adapters in the FTPAdapter deployment. We created a BPEL process and using FTP Adapter to connect to above mentioned servers.
    Question: Customer's requirement is to use a single BPEL process to poll all these FTP Servers at a specified date and time. How can we connect dynamically to each FTP server at specified time.
    (OR)
    Is there any way to change the JCAJNDI dynamically in a FTP Adapter configuration ?
    I have seen that FTP Adapter POLL doesnt take any JCA JNDI/hostname/un/pwd/date/time dynamically.
    Regards
    Pavan

    Hi Pavan,
    It's possible to change the JNDI dynamically but only when you use put operation where you can control the JNDI name at the time of invoking the FTP Adapter as described in below link.
    Dynamic JNDI in FTP Adapter | jca.jndi property not picked by Adapter
    However, can you consider using BPEL process with SyncRead (and read files through all the JNDIs in a loop) and scheduling this BPEL process to a desired frequency?
    Regards,
    Neeraj Sehgal

  • Customizing JCA FTP Adapter properties in OSB

    Hi,
    I have requirement to read a file from one file system and write it on another file system.I have implemented this using jca FTP adapter in OSB.
    The read and write directory will be different across environments in which I need to deploy the project.
    The read and write directory info is present in the jca file as given below.
    <activation-spec className="oracle.tip.adapter.ftp.inbound.FTPActivationSpec">
    <property name="DeleteFile" value="true"/>
    <property name="MinimumAge" value="0"/>
    <property name="PhysicalDirectory" value="TEST/INPUT"/>
    <property name="Recursive" value="true"/>
    <property name="PollingFrequency" value="10"/>
    <property name="FileType" value="ascii"/>
    <property name="PhysicalArchiveDirectory" value="/PROJ/ARCHIVE"/>
    <property name="IncludeFiles" value=".*\..*"/>
    <property name="UseHeaders" value="false"/>
    </activation-spec>
    Is it possibel to cahnge this valueof <property name="PhysicalDirectory" value="TEST/INPUT"/> using customization files. From the OSB docs I undersatnd that only OSB predefined environment values can be changed using customization files.
    Thanks,
    Sai.

    Hi Prabu,
    The directory name is not appearing in the configuration of the services.
    I have specific reason for going with jca Adapter. Why writing the files to the destination if some failure happens ftp protocol may cause partially written files but I think JCA adapter will make sure either the file is completely transferred or not transferred at all.
    If this cannot be done in OSB I think I need to go for BPEL implementation where the config plan supports the replacement of JCA properties.
    Thanks,
    Sai.

  • Assign file permissions dynamically through FTP adapter

    In my composite, i have a requirement to assign the file permissions dynamically.
    I know the static way of doing it is to use the property 'Permission' in the jca file of the ftp adapter.
    Is there any way to pass the value to this property dynamically?
    I tried using jca.ftp.Permission. but not working.
    Any help on this is much appreciated.
    Thanks,
    Naveen Kumar T.

    Hi,
    The document with the properties is this... It doesn't mention any properties for permissions though...
    http://docs.oracle.com/cd/E25178_01/integration.1111/e10231/adptr_propertys.htm#CHDJBDHC
    Cheers,
    Vlad

  • RENAME/COPY/DELETE a file using FTP Adapter in 11g using dynamic values

    Hi All
    We have a requirement to do the above for a client. I was able to find a post\blog that tells you to add the below properties in FTP adapter JCA file and it works but,
    <interaction-spec className="oracle.tip.adapter.ftp.outbound.FTPIoInteractionSpec">
    <property name="SourcePhysicalDirectory" value="foo1"/>
    <property name="SourceFileName" value="bar1"/>
    <property name="TargetIsRemote" value="false"/>
    <property name="TargetPhysicalDirectory" value="foo2"/>
    <property name="TargetFileName" value="bar2"/>
    <property name="Type" value="COPY"/>
    </interaction-spec>
    The problem is that how to assign these values dynamically (from xpath or bpel variables etc). Can somebody provide me with some pointers? Its very urgent!

    Use the below approach to set the directory and file names dynamically.
    In BPEL source mode, specify the bpelx:inputProperty. Set the values for these variables in bpel. These can also be accessed as bpel preference values.
    <invoke>
    <bpelx:inputProperty name="jca.ftp.SourceFileName" variable="SourceFileNameVar"/>
    <bpelx:inputProperty name="jca.ftp.TargetFileName" variable="TargetFileNameVar"/>
    </invoke>

  • Passing payload values to FTP adapter properties

    Hi
       We are on XI 3.0 SP 13 and we have a requirement as follows :
    We want to use XI purely as a dynamic ftp service.It has 3-4 static locations from which it picks up files from. The target details onto which it ftps the files are dynamic i.e the hostname, uname,type of transfer etc are to be looked up from a db table - in other words, these ftp destination details are to be looked up during mapping using a mapping lookup API and then the ftp adapter properties are to be set dynamically .
    Question is : can we set these ftp adapter properties like hostname, uname etc dynamically from mapping ? If not, what alternatives do we have to achieve this ? Or is this doable in SP14 onwards ?
    I have seen a lot of threads on setting this ftp adapter properties dynamically - including suggestions for writing a JAVA module, proxies etc -
    WE are on SP13 - what is the package - class and API details that are to be accessed - if we want to achieve this using a JAVA module ? ( if at all we have to go that route )
    Any quick suggestions, pointers is appreciated as we are in a time crunch to do a POC. Thank you for your time.

    Hi,
      I doubt if we could set the file parameters dynamically.
    In case the number of target locations are small, say, 4 or 5... we could achieve this through conditional receiver detemination. In order to do this, we would need to know the receivers in advance.
    Regards,
    Smitha.

  • FTP adapter for Oracle Service Bus  - retrieve file by dynamic file name.

    Hi
    I am newbie in OSB. I try to use FTP transport in Workshop, it must fill in "Prefix" and "Suffix" for destination file name.
    But for us, the file name is sent by external systems.
    The workflow is:
    1. External system call our proxy services.
    2. Proxy service get file name from SOAP message.
    3. Proxy Service get the file from FTP server.
    4. The file send to Business services.
    Any suggestions to implement about workflows?

    Let me first put here what I understand about the flow:
    External Sytem -->(filename)--> OSB HTTP PS --> (1) --> OSB FTP BS --> Read file based on filename
    |--> (2) --> send file ontent to another system or return to the original system
    If that is the flow, then I beileve ther is no straight forward way to implement it in OSB.
    OSB FTP BS will only write a file to FTP Location.
    If you create a JCA FTP Adapter for reading the file, then you can use it only to create a Proxy Service, and that proxy will not pick up the file when called from another service but only when a file is put on the source FTP location.
    So, to implement the solution you will need to use Java Callout to a class which has code written to accept the file name as input, read the file from an FTP location and return the file content.
    This is my understanding of how it is, may be there is another way to implement this or in fact may be the latest version of OSB 11.1.1.4 or 11.1.1.5 JCA adapter does support read operation within a flow instead of just at the start of the flow.

  • How to give a dynamic File Name for Receiver File/FTP Adapter.

    Hi Experts,
        I have one scenario in which we are creating a flat file of IDOC which is coming from R/3 & sending it to FTP location. For this we have configured Receiver FTP adapter with File Name Scheme as "NT.out"  & in File Consturction mode i have given as "Add Time Stamp".
        therfore while creating a file it is creating as NTyyyyMMdd-HHmmss-SSS.out
    where as my requirement is only to to add Time & not the Date. (NThhmmss.out)
        How to do this ?
        for your info we are using ABAP Mapping.
        Pl help me
    Regards,
    Umesh

    Hi Umesh,
          Add one more field to your target structure for your file name and populate that field as per your requirement like NTyyyyMMdd.out. In receiver communication channel use Variable subtiution option and give the refrence of Payload and file construction mode set as create.
    And refer the below weblogs for Variable Subtiutuion File Name Scheme
    /people/jayakrishnan.nair/blog/2005/06/20/dynamic-file-name-using-xi-30-sp12-part--i - Dynamic File Name Part 1
    /people/jayakrishnan.nair/blog/2005/06/28/dynamic-file-namexslt-mapping-with-java-enhancement-using-xi-30-sp12-part-ii - Dynamic File Name Part 2
    Hope this way would be solve u r problem.
    Cheers
    Veera
    >>>Reward points, if it is needful

  • Dynamic file name creation using FTP adapter wired from a mediator

    Hi All,
    My Requirement is as follows....
    Mediator is wired to Three FTP adapters to create three files.
    File names are dynamic.
    In the mediator those three routings, mappings and assignment for the directory and file name are being created.
    But out of 3 files, 2 files are being created with the names mentioned during the FTP adapter configuration and the last one is being created
    with the dynamic value.
    Any help in this regard is highly thankful.
    Thank you.
    Srivatsasa.

    Create a UDF in mapping taking counter from IDoc as input parameter
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String totalFilename = "AAAA_" + counter;
    conf.put(key,totalFilename);
    return  totalFilename; 
    Map output of this UDF to Top node at target.
    you will not be able to see the result in test tab of mapping but it works end to end
    Select Adapter Specific Message Attributes in receiver file adapter..here select filename checkbox

Maybe you are looking for