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.

Similar Messages

  • Jca Ftp Adapter - XA support

    Hi,
    I have requirement to move files between two ftp servers. I have implemented this using OSB services configured with jca ftp adapter. After reading the files from the source system the adapter is configured to delete the file from source directory. While moving the files if the target system is unreachable the transaction should roll back and the file should remain in the source directory.
    Can this be achievable using jca ftp adapter. Does ftp adapter have XA capability?
    Thanks,
    Sai.

    OSB's ftp transport is transactional on the inbound side ( proxy service side) .. So you could use this.. Make sure you are not configuring any reply actions in any of the error handlers.. When route error occurs make sure the error is allowed to propagate back to the system error handler.. .
    By default osb's ftp transport will retry only once and then move the file to the error directory. If you want to change this behaviour say retry infinitely or retry after a delay , you have to change the dleivery failure settings for the internal JMS queue WLSAdmin Console --> JMSModules --> jmsResources --> wlsb.internal.transport.task.queue.ftp_auto_2 ( wlsb.internal.transport.task.queue.ftp_auto_3 and so on) Delivery Failure and change redelivery delay and redelivery limit.
    Note OSB's ftp transport is not transactional outbound(business service) , so you might get only "At-least once" (and not "exactly-once") quality of service using this ..

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

  • Passing Streaming Content to a JCA FTP adapter in OSB

    Hi,
    Is there any way to pass streaming content represented by e.g.<con:binary-content ref="cid:1b6ff6d0:1416f7a74ab:-1d8a" xmlns:con="http://www.bea.com/wli/sb/context"/> to JCA FTP(business service) adapter?
    My binary content already represents base64Binary format. Content is around 250Mb so there is no possibility to put it to memory(java.lang.OutOfMemoryError).
    FTP Adapter wsdl
    <wsdl:definitions
         name="FTPAdapter"
         targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/ftp/Adapter/FTPAdapter/FTPAdapter"
         xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
         xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/ftp/Adapter/FTPAdapter/FTPAdapter"
         xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
         xmlns:opaque="http://xmlns.oracle.com/pcbpel/adapter/opaque/"
         xmlns:FTPAPP="http://xmlns.oracle.com/pcbpel/adapter/ftp/"
         xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
        >
      <plt:partnerLinkType name="SaveFile_plt" >
        <plt:role name="SaveFile_role" >
          <plt:portType name="tns:SaveFile_ptt" />
        </plt:role>
      </plt:partnerLinkType>
        <wsdl:types>
        <schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/opaque/"
                xmlns="http://www.w3.org/2001/XMLSchema" >
          <element name="opaqueElement" type="base64Binary" />
        </schema>
        <schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/ftp/" xmlns="http://www.w3.org/2001/XMLSchema"
                attributeFormDefault="qualified"
                elementFormDefault="qualified" >
           <element name="OutboundFTPHeaderType" >
             <complexType>
               <sequence>
                 <element name="fileName" type="string" />
                 <element name="directory" type="string" />
                </sequence>
               </complexType>
           </element>
        </schema>
        </wsdl:types>
        <wsdl:message name="SaveFile_msg">
            <wsdl:part name="opaque" element="opaque:opaqueElement"/>
        </wsdl:message>
        <wsdl:message name="Output_msg">
            <wsdl:part name="body" element="FTPAPP:OutboundFTPHeaderType"/>
        </wsdl:message>
        <wsdl:portType name="SaveFile_ptt">
            <wsdl:operation name="SaveFile">
                <wsdl:input message="tns:SaveFile_msg"/>
                <wsdl:output message="tns:Output_msg"/>
            </wsdl:operation>
        </wsdl:portType>
    </wsdl:definitions>

    aren't the default cluster aware settings enough for this ?
    http://docs.oracle.com/cd/E15523_01/integration.1111/e10231/adptr_db.htm
    Scalability
    you could enable a few in the adapter wizards

  • FTP Adapter Properties change - question

    Friends,
    I am new to SOA 11G suite. We ahve a FTP connection configured on the Weblogic using FTP adapter. I want to change the password of the FTP configuration which I do by using following steps but the password does reflect the change after I relogon to Console or actually run the application I deployed which uses the FTP Connection. I would like to know if I am missing any steps :-
    1. Selected my specific connnection in the connection factory
    2. Changed the password through properties tab
    3. Checking the Ftpadapter (under Deployment) and clicking the Update button.
    4. Tried both option - Update application and Redeploy option.
    5. It gives me messages the changes were succesfull
    6. I click the Active Changes button again
    7. It gets me to the logon page and I relogon to Weblogic console
    8. When I recheck the password for my FTP connection it does not reflect the change.
    Am I missing anything ? Please advise
    Thanks

    Thanks Arik for response. I figured it our earlier that I was not pressing the ENTER key after changing the password but just clicking the SAVE button. Well, I have to pull my self out of these kind of beginner blunders.
    Since I passed over the hurdle, can I bug you with related question :-
    I have the BPEL process that actually is polling for a file using FTP adapter on one of our servers. (This FTP password is not the one I changed in above steps). The same BPEL process after reading the file transforms the XML And sends the output to the other FTP server (for which I had changed the password in the above step. However after I went through the password change and update etc the BPEL process has stopped polling the file from the source FTP server. The file is there but it is not getting picked up and the BPEL process is not gettng initiated.
    Do I need to restart the SOA services to make this work ?
    Thanks for your help

  • FTP Adapter on OSB - how to specify logical directory path

    I am using the ftp adapter on osb 11g (Oracle Service Bus Version: [Oracle Service Bus Server Side Dependencies 11.1 Thu Aug 19 02:10:08 PDT 2010 ] Oracle Weblogic Server Version: [WebLogic Server 10.3.4.0 Fri Dec 17 20:47:33 PST 2010 1384255 ])
    I defined the ftp adapter using jdev and imported the jca artifacts into osb.
    I created a business service using jca adapter to put the file to the ftp server.
    The problem is the write directory on the ftp server is different for each environment - DEV, QA, PROD.
    I used a physical directory specification when defining the adapter in JDEV because it wasn't clear from the help how i would override a logical directory during deployment to osb (it is clear if deploying to soa suite).
    Is there a way to override this dynamically override this directory at runtime. Or even better a way to override during deployment time?

    You do it either way....
    Import the SBConfig jar into the sbconsole and change the value in the JCA file
    or
    Re: Customizing JCA FTP Adapter properties in OSB

  • Custom JCA Adapter integration with BPEL

    The stock FTP Adapter provided with BPEL does not have a feature I require, so I am creating a custom JCA FTP adapter that does only one thing: when it is invoked, it polls a directory for any existing files, and then returns the number of files in that directory.
    The Adapter Developer Cookbook ( http://www.oracle.com/technology/products/integration/adapters/pdf/Adapter%20Development%20cookbook.pdf ) is about as clear as mud, and hasn't been updated for 10.1.3.
    Are there any other resources that explain how you go from having your .java source files for your JCA adapter to having a working custom adapter in BPEL?

    Hello Tlwi,
    I guess you already figured out of writing custom JCA adapter, do you mind sharing your thoughs or document you may have. I tried to follow the cookbook, but was really looking for sample template code which I can change to make my own adapter.
    Thanks,
    Chintan

  • OSB error while generating business service for FTP adapter Sync Get File

    Hi All
    I am trying to generate a business service from SOA Suite JCA FTP adapter Sync Get File, but i am getting this exception for no reasons (Rest operations list file, get file and put file are working)
    Invalid JCA transport endpoint configuration, exception: java.lang.NullPointerException     Unknown ALSB Conflict.
    Is this a bug in eclipse, can any body help me. Thanks
    Sorry Forgot to mention eclipse version...
    Eclipse Platform
    Version: 3.6.2
    Build id: M20110210-1200

    Ok,
    bcoz of this issue, i had to code the entire interface in OSB console. It runs fine in OSB console (i was able to test it successfully).
    Is this a bug in eclipse or only i am facing this issue? Has anybody tried to create a business service from JCA FTP Get Synchronous jca file?
    <adapter-config name="FTPReadMOMFileOnRMSDB" adapter="FTP Adapter"
         wsdlLocation="../wsdl/FTPReadMOMFileOnRMSDB.wsdl"
         xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
         <connection-factory location="eis/ftp/RMSDBFtpAdapter" />
         <endpoint-interaction portType="SynchRead_ptt"
              operation="SynchRead">
              <interaction-spec
                   className="oracle.tip.adapter.ftp.outbound.FTPReadInteractionSpec">
                   <property name="DeleteFile" value="true" />
                   <property name="PhysicalDirectory" value="/MOMFiles/output" />
                   <property name="FileName" value="*" />
                   <property name="FileType" value="binary" />
              </interaction-spec>
         </endpoint-interaction>
    </adapter-config>
    One more doubt? The PhysicalArchiveDirectory path can be on the FTP server something like: /MOMFiles/archive. Or do i have to use the Put operation to move it to /MOMFiles/archive directory. Currently OSB console and eclipse do not accept FTP path for this parameter and want me to specify a local directory on server. Thanks

  • Custom JCA Adapter / Application Error - Message.setErrorInfo() ??

    Hi All,
    I was looking for how to create a sensible Application Error in a custom JCA adapter and was excited to find the following page in the PCK info on Adapter Development:
    http://help.sap.com/saphelp_nw04/helpdata/en/3c/53d6409ff68631e10000000a1550b0/frameset.htm
    The part of interest being:
    <i>
    The following methods are available to enable you to read error information in the form of an ErrorInfo object from the message, or to set the error information in a message.
    Message.getErrorInfo()
    Message.setErrorInfo()
    If the synchronous response message is an application-error message instead of an application response, it must call setErrorInfo(myErrorInfo) for receiver adapters.</i>
    However, I can't find these methods, or indeed the "ErrorInfo" object anywhere in the AF classes - does anyone know it's whereabouts? Or is the above page just out of date? If so, what is the new approach for creating Application Level Errors in a custom JCA Resource adapter (not Exceptions - I can do that)
    Many thanks,
    Chris

    Well, you can get the latest jars from the SMP (Service Marketplace) directly.  These jars are in the <i>XI ADAPTER FRAMEWORK CORE 3.0</i> component.  Basically, http://service.sap.com/swdc  then Support Packages and Patches->SAP NetWeaver->SAP NETWEAVER->SAP NETWEAVER 04->Entry by Component->J2EE Adapter Engine (PI/XI).   There you'll see the XI ADAPTER FRAMEWORK CORE 3.0 link.
    OR here is the direct link for the SP19 (latest) of <a href="https://smpdl.sap-ag.de/~swdc/012002523100009492712006D/SAPXIAFC19P_4-20000272.sca?_ACTION=DL_DIRECT">SAPXIAFC19P_4-20000272.sca</a>
    Within this is <i>aii_af_lib.sda</i> which has the jars.  You can use winzip or winrar to open .sca, .sda files.
    Regards,
    Jin

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

  • Using JCA FTP and File Adapters to transfer files as attachments

    I am trying to develop a flow that picks a file up using the JCA FTP adapter and writes it using the JCA File Adapter. I can get this to work using opaqeElement but the issue I have is that the files that will be transferred are regularly very large > 1 GB and using the opaqueElement simply results in a OutOfMemoryException.
    Reading the Adapter documentation it seems that Reading/Writing file as an attachment may be an answer. I therefore did the following.
    . Created FTP Read and File Write adapters in JDeveloper
    . Inmported this in to OEPE
    . Created Proxy Service and Business Service and wired them together
    The problem i am having is that even though there is no error and the file is being read on the FTP server, the resulting file only contains that attachment details, the file is not a copy of the file that was picked up from the ftp server.
    I am assuming that this behaviour is not correct and that the file should be transferred in its entirity. Unfortunatly the documentation is not very detailed and I cannot find any examples on the internet.
    Can anyone offer any advice or even better suggest where I can find an example.
    Regards
    My JCA adapters are as follows:
    FileWriteAsAttachmentAdapter_file
    <adapter-config name="FileWriteAsAttachmentAdapter" adapter="File Adapter"
         wsdlLocation="FileWriteAsAttachmentAdapter.wsdl"
         xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
    <connection-factory location="eis/HAFileAdapter"/>
    <endpoint-interaction portType="Write_ptt" operation="Write">
    <interaction-spec className="oracle.tip.adapter.file.outbound.FileInteractionSpec">
    <property name="PhysicalDirectory" value="C:\fileserver\download\toprocess"/>
    <property name="Append" value="false"/>
    <property name="FileNamingConvention" value="attachment_%SEQ%.csv"/>
    <property name="NumberMessages" value="1"/>
    </interaction-spec>
    </endpoint-interaction>
    </adapter-config>
    FileWriteAsAttachmentAdapter.wsdl
    <wsdl:definitions
    name="FileWriteAsAttachmentAdapter"
    targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/file/AtatchmentApp/Project1/FileWriteAsAttachmentAdapter"
    xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/file/AtatchmentApp/Project1/FileWriteAsAttachmentAdapter"
    xmlns:imp1="http://xmlns.oracle.com/pcbpel/adapter/file/attachment/"
    xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    >
    <plt:partnerLinkType name="Write_plt" >
    <plt:role name="Write_role" >
    <plt:portType name="tns:Write_ptt" />
    </plt:role>
    </plt:partnerLinkType>
    <wsdl:types>
    <schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/file/attachment/" xmlns="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified" >
    <element name="attachmentElement" >
    <complexType>
    <attribute name="href" type="string" />
    </complexType>
    </element>
    </schema>
    </wsdl:types>
    <wsdl:message name="Write_msg">
    <wsdl:part name="body" element="imp1:attachmentElement"/>
    </wsdl:message>
    <wsdl:portType name="Write_ptt">
    <wsdl:operation name="Write">
    <wsdl:input message="tns:Write_msg"/>
    </wsdl:operation>
    </wsdl:portType>
    </wsdl:definitions>
    FtpGetAsAttachmentAdapter_ftp.jca
    <adapter-config name="FtpGetAsAttachmentAdapter" adapter="FTP Adapter"
         wsdlLocation="FtpGetAsAttachmentAdapter.wsdl"
         xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
    <connection-factory location="eis/ftp/TlmsHAFtpAdapter"/>
    <endpoint-activation portType="Get_ptt" operation="Get">
    <activation-spec className="oracle.tip.adapter.ftp.inbound.FTPActivationSpec">
    <property name="AsAttachment" value="true"/>
    <property name="DeleteFile" value="true"/>
    <property name="MinimumAge" value="300"/>
    <property name="PhysicalDirectory" value="/ftp/tlms2atas"/>
    <property name="Recursive" value="false"/>
    <property name="FileModificationTime" value="FileSystem"/>
    <property name="PollingFrequency" value="60"/>
    <property name="FileType" value="ascii"/>
    <property name="IncludeFiles" value=".*[_][0-9][0-9][-][0-9][0-9][-][0-9][0-9][_].*\.csv"/>
    <property name="UseHeaders" value="false"/>
    <property name="ModificationTimeFormat" value="dd/MM/yyyy HH:mm"/>
    </activation-spec>
    </endpoint-activation>
    </adapter-config>
    FtpGetAsAttachmentAdapter.wsdl
    <wsdl:definitions
    name="FtpGetAsAttachmentAdapter"
    targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/ftp/AtatchmentApp/Project1/FtpGetAsAttachmentAdapter"
    xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/ftp/AtatchmentApp/Project1/FtpGetAsAttachmentAdapter"
    xmlns:attach="http://xmlns.oracle.com/pcbpel/adapter/file/attachment/"
    xmlns:pc="http://xmlns.oracle.com/pcbpel/"
    xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    >
    <plt:partnerLinkType name="Get_plt" >
    <plt:role name="Get_role" >
    <plt:portType name="tns:Get_ptt" />
    </plt:role>
    </plt:partnerLinkType>
    <wsdl:types>
    <schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/file/attachment/" xmlns="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified" >
    <element name="attachmentElement" >
    <complexType>
    <attribute name="href" type="string" />
    </complexType>
    </element>
    </schema>
    </wsdl:types>
    <wsdl:message name="Get_msg">
    <wsdl:part name="attach" element="attach:attachmentElement"/>
    </wsdl:message>
    <wsdl:portType name="Get_ptt">
    <wsdl:operation name="Get">
    <wsdl:input message="tns:Get_msg"/>
    </wsdl:operation>
    </wsdl:portType>
    </wsdl:definitions>

    System resources are finite and have a threshold limit for processing. The Oracle SOA Suite, dependent on system resources, also has certain size limitations, largely due to the underlying resources beyond which the system cannot process incoming requests.
    For example, Oracle JCA Adapters can process large payloads but the Oracle BPEL PM consumes huge memory when processing large payloads, which can cause OutOfMemory conditions and affect the whole system.
    You can try File ChunkedRead option.This will read your large CSV file in chunks so chances of memory out will be less. You can define your own chunk size.
    This is a feature of Oracle File and FTP Adapters that uses an invoke activity within a while loop to process the target file. This feature enables you to process arbitrarily
    large files. See below link's section "4.5.5 Oracle File Adapter ChunkedRead"
    http://www.orastudy.com/oradoc/selfstu/fusion/integration.1111/e10231/adptr_file.htm#BABDIABG
    Thanks,
    Ashu

  • 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

  • FTP Adapter in OSB

    Hi Guys,
    I have used an FTP adapter in OSB and it is working fine. What I want to do is to override the Delete File setting for the adapter.
    I don't want to delete(or archive) the file/s (scenario e.g. is that I have to send the same file over and over again).
    Please suggest. Thanks in advance.

    Hi,
    You can overide the Delete File setting by using a logical name instead of a physical path to the folder.
    When you use logical names for the file read and archive locations, two properties are added to the service/reference binding with the name you have given them in the wizard.
    The value between the tags can be overwritten. Initials they''re blank/empty.
    <property name="fileDelLoc" type="xs:string" many="false" override="may">c:\temp\out</property>
    <property name="fileLoc" type="xs:string" many="false" override="may">c:\temp\in</property>
    These properties can be changed on deployment time with a configuration plan or on runtime via the EM in the settings page of the service binding.
    <service name="ReadFileService">
      <property name="fileDelLoc">
         <replace></replace>
       </property>
       <property name="fileLoc">
         <replace></replace>
       </property>
       <binding type="jca"/>
    </service>
    Cheers,
    Robert van Mölken
    Senior Oracle Integration Specialist

  • 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

  • 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

Maybe you are looking for

  • Two "instances" of RH 7?

    When a project is open in RH and you select File/Open for a separate project, RH closes the first one, no doubt for good reason. Does anyone launch RH a second time and open a different project, so you can look at them both? What about copy/paste fro

  • In FM 8 and 9, Xref generated text invisible and xref is reported broken

    Hi all, We were working in 8 and now in 9, and have not been able to solve this problem: For xrefs to another document, the generated text (based on the srcfile attribute) is correct in the XML.  When we open it in Frame, sometimes it is invisible an

  • Need to run tdps sync in sql servers

    Hello, I need to run tdpssync in sqlservers. Please assist.Like in oracle we have tdposync which synchronizes the tsm backup with backup repository. Best regards, Vishal

  • User's short name greyed and can't be changed

    Hi all I hope I'm in the right area for this post. Here's my problem: When I create a user I can give them a short name or accept the default, then I save the user. However, if I go back to that user to change the short name It is greyed out and cann

  • I was  updated ios 7.0.4 but some time it suddenly restart?

    it is restart some time