FTP Adapter XSD Validation

Hi All,
Oracle InterConnect 10.1.2
Oracle Adapters (AQ,FTP) using XSD
FTP Adapter on local filesystem
In the FTP Adapter, Is there anyway to validate the XML content against the XSD?
The validation is happening at the common view when i use the "Validate XML" check box while creating the event in iStudio. However this option does not appear while configuring the FTP adapter in iStudio. I would like FTP adapter to reject the XML file if the XSD validation fails and move the file to the exception folder.
Objective: XSD should perform datatype, datasize and format validations.
Thanks,
Sherry

Can anyone let me know how to enforce the XSD validation in the adapter. As of now only the structure of the message is being checked.

Similar Messages

  • XSd-validation isn't performed when invoking file Adapter

    I've configured an ESB where data needs to be transformed using a file adapter and a db adapter.
    The deleimted files first need to be validated using xsd (native transformation) and if validation was performed correctly they can be transformed and loaded into db tables.
    The xsd-validation isn't performed in my use case where some fields are required, have a decimal-format etc., if the files don't comply they're still picked up and being transformed to the db adapter, where the insertion will fail then because the file had errored records in it.
    I'm using esb 10.1.3.3 in this case.
    kind regards,
    Nathalie

    Hi Nathalie,
    I'm not able to define properties on my esb routing
    service in release 10.1.3.3, the definition tab isn't
    showing any detailed information for my routing
    service.Strange, we're also using 10.1.3.3. Make sure in the ESB Control when you select the routing service, that the operation for which you want to validate the payload is selected. If it is selected, the operation details section should show the validation option. Also see page 3-14 of the ESB Developers Guide. You can also change the esbsv-file:
    <operations>
    <operationInfo guid="xyz" qname="Test.Insert.insert" wsdlOperation="insert" mepDisplayName="One Way" mep="OneWay">
    <request validate="true" xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/d
    b/top/Insert" element="tns:TestCollection"/>
    </operationInfo>
    </operations>
    </service>
    using the validate="true" option.
    No logging is being generated for this matter, so I'm
    not sure which problem I'm facing wright now. I will
    bounce the service and try again.We had such an issue when we didn't validate payload at runtime and inserted data using DB adapter. Our TopLink mappings didn't correspond to the XML data to be inserted. That caused only 2 tables out of 4 to be updated, without any error logged. Enabling validation, resulted in an error being thrown; the behaviour we wanted.
    The only thing that's of importance here, is that I
    need to define this functionality within BPEL and not
    ESB, the customer has only acquired bpel for this
    matter because human task integration was necessary.One of the advantages of 11g fortuntely is that separation of concerns will be better. It will be much clearer where to use adapters. Not that this helps in your current case right now :-s
    I should be able to accomplish the xsd validation
    inside a bpel configuration.That should work, good luck!
    Regards, Ronald

  • Can SOA 11g fault policy handle XSD Validation errors from the Mediator?

    I would like all errors in my SOA process to go through the fault-policies.xml. But I don't seem to be able to catch any mediator error caused by an XSD validation failure. A sample of the sort of error I am trying to 'catch' is:
    Nonrecoverable System Fault          oracle.tip.mediator.infra.exception.MediatorException: ORAMED-01303:[Payload default schema validation error]XSD schema validation fails with error Invalid text 'A' in element: 'TermCode'Possible Fix:Fix payload and resubmit.
    My fault-policies.xml file is as follows:
    <?xml version="1.0" encoding="UTF-8" ?>
    <faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy">
    <faultPolicy version="2.0.1"
         id="NewStudentRegistrationFaults"
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.oracle.com/bpel/faultpolicy"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Conditions>
    <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults" name="medns:1303">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    <faultName xmlns:rjm="http://schemas.oracle.com/sca/rejectedmessages" name="rjm:GetNewStudentRegistrationFile">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults" name="medns:TYPE_ALL">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:mediatorException">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:bindingFault">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:remoteFault">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id="java-fault-handler">
    <javaAction className="edu.villanova.soa.handlers.FaultNotificationHandler"
    defaultAction="ora-human-intervention" propertySet="faultNotificationProps">
    <returnValue value="OK" ref="ora-human-intervention"/>
    </javaAction>
    </Action>
    <!-- Human Intervention -->
    <Action id="ora-human-intervention">
    <humanIntervention/>
    </Action>
    <!-- Terminate -->
    <Action id="ora-terminate">
    <abort/>
    </Action>
    </Actions>
    <!-- Property sets used by custom Java actions -->
    <Properties>
    <!-- Property set for FaultNotificationHandler customer java action -->
    <propertySet name="faultNotificationProps">
    <property name="from">[email protected]</property>
    <property name="to">[email protected]</property>
    <property name="subject">Reporting a SOA fault</property>
    </propertySet>
    </Properties>
    </faultPolicy>
    <faultPolicy version="2.0.1"
         id="MediatorFaults"
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.oracle.com/bpel/faultpolicy"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Conditions>
    <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults" name="medns:1303">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id="java-fault-handler">
    <javaAction className="edu.villanova.soa.handlers.FaultNotificationHandler"
    defaultAction="ora-human-intervention" propertySet="faultNotificationProps">
    <returnValue value="OK" ref="ora-human-intervention"/>
    </javaAction>
    </Action>
    <!-- Human Intervention -->
    <Action id="ora-human-intervention">
    <humanIntervention/>
    </Action>
    <!-- Terminate -->
    <Action id="ora-terminate">
    <abort/>
    </Action>
    </Actions>
    <!-- Property sets used by custom Java actions -->
    <Properties>
    <!-- Property set for FaultNotificationHandler customer java action -->
    <propertySet name="faultNotificationProps">
    <property name="from">[email protected]</property>
    <property name="to">[email protected]</property>
    <property name="subject">Reporting a SOA rejected msg. fault</property>
    </propertySet>
    </Properties>
    </faultPolicy>
    </faultPolicies>
    My fault-bindings.xml file is as follows:
    <?xml version="1.0" encoding="UTF-8" ?>
    <faultPolicyBindings version="2.0.1"
    xmlns="http://schemas.oracle.com/bpel/faultpolicy"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <composite faultPolicy="NewStudentRegistrationFaults"/>
    <component faultPolicy="MediatorFaults">
    <name>NewStudentRegistrationMediator</name>
    </component>
    <service faultPolicy="NewStudentRegistrationFaults">
    <name>GetNewStudentRegistrationFile</name>
    </service>
    </faultPolicyBindings>
    You'll notice that I've tried a number of ways (and various other combinations) to try to steer the error above into my Java fault handler but nothing has meet with success. The mplan is as follows:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <!--Generated by Oracle SOA Modeler version 1.0 at [2/3/10 1:21 PM].-->
    <Mediator name="NewStudentRegistationMediator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/sca/1.0/mediator"
    wsdlTargetNamespace="http://xmlns.oracle.com/pcbpel/adapter/ftp/Experiments/NewStudentRegistration/GetNewStudentRegistrationFile%2F">
    <operation name="Get" deliveryPolicy="AllOrNothing" priority="4"
    validateSchema="true">
    <switch>
    <case executionType="queued" name="RegToBanner.insert_2">
    <action>
    <transform>
    <part name="$out.NewstudentregistrationCollection"
    function="xslt(xsl/NewStudentRegistration_To_NewstudentregistrationCollection.xsl, $in.body)"/>
    </transform>
    <invoke reference="RegToBanner" operation="insert"/>
    </action>
    </case>
    </switch>
    </operation>
    </Mediator>
    I'm a newbie to Oracle SOA. So perhaps I am missing the obvious. But I haven't read much in the documentation specifically about using the XSD validation option on the mediator and have seen nothing specifically about catching this sort of exception in the fault policy (apart from the faults I already have in my policy). Can anyone suggest what I am doing incorrectly here or perhaps whether what I am attempting to do is not possible? Thanks.
    - Cris

    Has anyone got it working yet?
    In my case, I have the following sequence:
    FileAdapter -> Mediator1 -> Mediator2->DB Adapter
    I am deliberately introducing validation error in File. Isn't it correct to assume Fault framework would get triggered at Mediator1 level since we are invoking FileAdapter service?
    I am getting a strange behaviour. If I enable XSD validation at Mediator1 level, process is Faulted with no re-try option. However, if I enable XSD validation ONLY at Mediator2 level, I get Recoverable fault. There seems to be some disconnect between documentation and reality. I am using JDeveloper 11.1.1.3.0 version and SOA Suite 11g.
    Thanks,
    Amjad.

  • XSD Validation, checking for required elements

    I'm using the FTP Adapter to retrieve a flat file in a format like this -
    H|1|1234|5-APR-2007
    L|1|33123|2
    L|1|12345|1
    L|1|6969|5
    S|1|Milton Park, Abingdon, OX142NF
    I have generated an XSD file using the built in wizard that looks like this -
    <?xml version="1.0" encoding="UTF-8" ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
    targetNamespace="http://bpelns.corp.rmd.org/complex"
    xmlns:tns="http://bpelns.corp.rmd.org/complex"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified" nxsd:encoding="ASCII" nxsd:stream="chars" nxsd:version="NXSD">
    <xsd:element name="order">
    <xsd:complexType>
    <xsd:choice minOccurs="1" maxOccurs="unbounded" nxsd:choiceCondition="terminated" nxsd:terminatedBy="|">
    <xsd:element name="HEADER" minOccurs="1" maxOccurs="1" nillable="false" nxsd:conditionValue="H">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="ORDERID" nillable="false" minOccurs="1" maxOccurs="1" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="|" nxsd:quotedBy="&quot;">
    </xsd:element>
    <xsd:element name="CUSTOMERID" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="|" nxsd:quotedBy="&quot;">
    </xsd:element>
    <xsd:element name="ORDERDATE" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="&quot;">
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="LINEITEM" minOccurs="1" maxOccurs="unbounded" nxsd:conditionValue="L">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="ORDERID" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="|" nxsd:quotedBy="&quot;">
    </xsd:element>
    <xsd:element name="PRODUCTCODE" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="|" nxsd:quotedBy="&quot;">
    </xsd:element>
    <xsd:element name="QUANTITY" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="&quot;">
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="SHIPPING" minOccurs="1" maxOccurs="1" nxsd:conditionValue="S">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="ORDERID" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="|" nxsd:quotedBy="&quot;">
    </xsd:element>
    <xsd:element name="ADDRESS" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="&quot;">
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:choice>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    I added the various minOccurs & maxOccurs attributes. I would like to be able to state that the element HEADER is required. However, despite the min & max values it carries straight through to the next point in the BPEL flow. I cannot use the required attribute type, as JDeveloper does not recognise this.
    How can I acheive the validation I require ? Is the XSD the right place to be doing it (I thought so, as it is the schema definition) ? If I cannot do this with the XSD how else might I acheive it in a concise way, ie not using a big switch operation to test various elements.

    I have just noticed that the XSD is creating the following XML document, which explains the validation failure. After the header it is treating everything else as a line item.
    <?xml version="1.0" encoding="UTF-8" ?>
    <order xmlns="http://bpelns.corp.rmd.org/complex">
    <HEADER>
    <ORDERID>1</ORDERID>
    <CUSTOMERID>1234</CUSTOMERID>
    <ORDERDATE>5-APR-2007</ORDERDATE>
    </HEADER>
    <LINEITEM>
    <ORDERID>1</ORDERID>
    <PRODUCTCODE>33123</PRODUCTCODE>
    <QUANTITY>2</QUANTITY>
    </LINEITEM>
    <LINEITEM>
    <ORDERID>L</ORDERID>
    <PRODUCTCODE>1</PRODUCTCODE>
    <QUANTITY>12345|1</QUANTITY>
    </LINEITEM>
    <LINEITEM>
    <ORDERID>L</ORDERID>
    <PRODUCTCODE>1</PRODUCTCODE>
    <QUANTITY>6969|5</QUANTITY>
    </LINEITEM>
    <LINEITEM>
    <ORDERID>S</ORDERID>
    <PRODUCTCODE>1</PRODUCTCODE>
    <QUANTITY>65 Milton Park, Abingdon, OX142NF</QUANTITY>
    </LINEITEM>
    </order>

  • Q: ftp adapter local storage

    My dba is asking how much space he should allocate on what file system for intermediate storage used by the BPEL ftp adapter. Does the ftp adapter uses local disk storage to temporarily stage inbound or outbound files for processing? If so, where?
    BTW: Our host OS is Solaris.
    Thanks,
    -Scott K.

    Can anyone let me know how to enforce the XSD validation in the adapter. As of now only the structure of the message is being checked.

  • 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

  • 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

  • Seeburger FTP Adapter And SAP PI 7.1

    Hi Everyone,
    Just a few questions about Seeburger FTP adapter please. Bit of background for clarity, we are doing an implementation using Seeburger FTP and sap PI 7.1 picking up EDIFACT (Orders) and returning (DESADV, ORDERSP, INVOICES). However we are not using any BIC, using another tool for EDIFACT -> EDIFACT-XML conversion (conversion agent) and in-house mapping development using graphical mapping.
    So couple of things which I haven't been able to figure out from the standard documentation for Seeburger FTP adapter:
    1) First is the functional ACK which we are meant to send back to the VAN is that a STANDARD FUNCTIONALITY with Seeburger FTP adapter?
    2) Because we are receiving a mix bag EDIFACT interchange on the way IN, I need to split messages accordingly and pass them on to the relevant channels and mappings. By using the standard module Splitter can I achieve that?
    3) Lastly some of the standard validations which are applicable to EDIFACT are they supported within the FTP adapter automatically? e.g. Counting number of messages in one interchange etc.
    Any help in this regard will be really great.
    regards

    Now a Good news.
    If you are using Seeburger version 2.1 (which you should be as you want it for PI 7.1), then there is an Internal Classifier and Split option for FTP adapter. You just need to tick checkbox "Use built-in splitting" and you are done. Then I believe there won't be any need for considering all these problems. The earlier version of Seeburger with PI 7.0 doesn't have such option and that could be the reason you haven't received any appropriate response yet.
    Still I will reply all your questions considering that "your case is of PI 7.0". -> remember PI 7.0
    >>even with just splitter we should be able to break it up?????? or am I wrong in thinking this?
    No. You even need BIC or an equivalent custom module for achieving this.
    >>I can't visualize where to handle the overall message count in one Interchange any suggestions?
    You need to write an adapter module for this. Not sure about the code but this module has to be added before the split happens.
    >> seeburger ftp adapter it does talk about a lot of reports which are available on sender/reciever actions. e.g. delivered, despatched etc. Are these reports not essentially ACKs?
    These reports are the ones used at the receiver side for getting the ACKs from the receiver. Your requirement is at present for sender scenario.
    Regards,
    Prateek

  • FTP Adapter : Issue with Non English Text.

    Dear All,
    We are trying to read a file which contains Korean Language and write into a different folder in a CSV format.
    The output file contains "???" inplace of Korean text.
    We can see the invoke to FTP adapter contains Korean text as part of it's input. But the CSV file contains "???"
    <FinalTradeCardList>
    <imp1:FinalRows>
    <imp1:C1>NO</imp1:C1>
    <imp1:C2>사이트코드</imp1:C2>
    <imp1:C3>사이트명</imp1:C3>
    <imp1:C4>승인일자</imp1:C4>
    <imp1:C5>주문번호</imp1:C5>
    <imp1:C6>주문자</imp1:C6>
    <imp1:C7>주문자연락처</imp1:C7>
    <imp1:C8>카드종류</imp1:C8>
    <imp1:C9>승인번호</imp1:C9>
    <imp1:C10>거래상태</imp1:C10>
    <imp1:C11>거래상태일시</imp1:C11>
    <imp1:C12>할부</imp1:C12>
    <imp1:C13>거래금액</imp1:C13>
    <imp1:C14>비과세공급가액</imp1:C14>
    <imp1:C15>과세공급가액</imp1:C15>
    </imp1:FinalRows>
    </FinalTradeCardList>
    What needs to be done in BPEL to get Korean Language text in CSV file.
    Thanks,
    Sid.

    Thanks for your reply.
    I used the character set as you suggested.But it is not getting converted correctly.
    Actual Value : (유)라이프테크놀로지스코리아
    Converted Value : ( $)C @/ ) 6s@LGAEWE)3n7NAv=:DZ8.>F
    I tried all others that are mentioned in the document. Still i am seeing different values. I am not getting the actual value.
    But in BPEL i see correct value getting passed to FTP Adapter.
    The character set is in XSD. Please find it below..
    <?xml version="1.0" encoding="UTF-8" ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
                xmlns:tns="http://TargetNamespace.com/DeleteMe"
                targetNamespace="http://TargetNamespace.com/DeleteMe"
                elementFormDefault="qualified"
                attributeFormDefault="unqualified"
                nxsd:version="NXSD"
                nxsd:stream="chars"
                nxsd:encoding="ISO-2022-KR">
      <xsd:element name="Root-Element">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="Row" minOccurs="1" maxOccurs="unbounded">
              <xsd:complexType>
                <xsd:sequence>
                  <xsd:element name="C1" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," nxsd:quotedBy="&quot;" />
                  <xsd:element name="C2" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="&quot;" />
                </xsd:sequence>
              </xsd:complexType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:schema>
    Please review the above and help me in resolving this issue.
    Thanks,
    Sid.

  • In my SOA Composite, Can I use file/FTP adapter to get the EDI X12 850

    Our requirement is to build a SOA Composite to dump all the details in a EDI X12 850 ( Purchase order ) document in to a database table. In my SOA Composite, Can I use file/FTP adapter to get the EDI X12 850 element details to map them to a base base columns.

    Drop the File Adapter to the left lane of the composite i.e., Services lane...
    Go to Step 2, give a meaningful name....
    Step 3, select "define from operation and schema"
    Step 4, select the operation type as "read"
    Step 5, select physical path and give the folder path in the "Directory for incoming files" field.,
    Step 6, select wildcards and give the expression depending on the file name it would be at run time...
    Step 7, select the polling frequency as required....
    Step 8, in the URL field, adjacent to that , select "browse for schema file" and select the XSD which you have exported from B2B Editor.
    say next and finish, you will be good to go.
    Hope this helps,
    Thanks,
    N

  • FILE and FTP Adapter file size limit

    Hi,
    Oracle SOA Suite ESB related:
    I see that there is a file size limit of 7MB for transferring using File and FTP adapter and that debatching can be used to overcome this issue. Also see that debatching can be done only for strucutred files.
    1) What can be done to transfer unstructured files larger than 7MB from one server to the other using FTP adapter?
    2) For structured files, could someone help me in debatching a file with the following structure.
    000|SEC-US-MF|1234|POPOC|679
    100|PO_226312|1234|7130667
    200|PO_226312|1234|Line_id_1
    300|Line_id_1|1234|Location_ID_1
    400|Location_ID_1|1234|Dist_ID_1
    100|PO_226355|1234|7136890
    200|PO_226355|1234|Line_id_2
    300|Line_id_2|1234|Location_ID_2
    400|Location_ID_2|1234|Dist_ID_2
    100|PO_226355|1234|7136890
    200|PO_226355|1234|Line_id_N
    300|Line_id_N|1234|Location_ID_N
    400|Location_ID_N|1234|Dist_ID_N
    999|SSS|1234|88|158
    I would need a the complete data in a single file at the destination for each file in the source. If there are as many number of files as the number of batches at the destination, I would need the file output file structure be as follows:
    000|SEC-US-MF|1234|POPOC|679
    100|PO_226312|1234|7130667
    200|PO_226312|1234|Line_id_1
    300|Line_id_1|1234|Location_ID_1
    400|Location_ID_1|1234|Dist_ID_1
    999|SSS|1234|88|158
    Thanks in advance,
    RV
    Edited by: user10236075 on May 25, 2009 4:12 PM
    Edited by: user10236075 on May 25, 2009 4:14 PM

    Ok Here are the steps
    1. Create an inbound file adapter as you normally would. The schema is opaque, set the polling as required.
    2. Create an outbound file adapter as you normally would, it doesn't really matter what xsd you use as you will modify the wsdl manually.
    3. Create a xsd that will read your file. This would typically be the xsd you would use for the inbound adapter. I call this address-csv.xsd.
    4. Create a xsd that is the desired output. This would typically be the xsd you would use for the outbound adapter. I have called this address-fixed-length.xsd. So I want to map csv to fixed length format.
    5. Create the xslt that will map between the 2 xsd. Do this in JDev, select the BPEL project, right-click -> New -> General -> XSL Map
    6. Edit the outbound file partner link wsdl, the the jca operations as the doc specifies, this is my example.
    <jca:binding  />
            <operation name="MoveWithXlate">
          <jca:operation
              InteractionSpec="oracle.tip.adapter.file.outbound.FileIoInteractionSpec"
              SourcePhysicalDirectory="foo1"
              SourceFileName="bar1"
              TargetPhysicalDirectory="C:\JDevOOW\jdev\FileIoOperationApps\MoveHugeFileWithXlate\out"
              TargetFileName="purchase_fixed.txt"
              SourceSchema="address-csv.xsd" 
              SourceSchemaRoot ="Root-Element"
              SourceType="native"
              TargetSchema="address-fixedLength.xsd" 
              TargetSchemaRoot ="Root-Element"
              TargetType="native"
              Xsl="addr1Toaddr2.xsl"
              Type="MOVE">
          </jca:operation> 7. Edit the outbound header to look as follows
        <types>
            <schema attributeFormDefault="qualified" elementFormDefault="qualified"
                    targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/file/"
                    xmlns="http://www.w3.org/2001/XMLSchema"
                    xmlns:FILEAPP="http://xmlns.oracle.com/pcbpel/adapter/file/">
                <element name="OutboundFileHeaderType">
                    <complexType>
                        <sequence>
                            <element name="fileName" type="string"/>
                            <element name="sourceDirectory" type="string"/>
                            <element name="sourceFileName" type="string"/>
                            <element name="targetDirectory" type="string"/>
                            <element name="targetFileName" type="string"/>                       
                        </sequence>
                    </complexType>
                </element> 
            </schema>
        </types>   8. the last trick is to have an assign between the inbound header to the outbound header partner link that copies the headers. You only need to copy the sourceDirectory and SourceGileName
        <assign name="Assign_Headers">
          <copy>
            <from variable="inboundHeader" part="inboundHeader"
                  query="/ns2:InboundFileHeaderType/ns2:fileName"/>
            <to variable="outboundHeader" part="outboundHeader"
                query="/ns2:OutboundFileHeaderType/ns2:sourceFileName"/>
          </copy>
          <copy>
            <from variable="inboundHeader" part="inboundHeader"
                  query="/ns2:InboundFileHeaderType/ns2:directory"/>
            <to variable="outboundHeader" part="outboundHeader"
                query="/ns2:OutboundFileHeaderType/ns2:sourceDirectory"/>
          </copy>
        </assign>you should be good to go. If you just want pass through then you don't need the native format set to opaque, with no XSLT
    cheers
    James

  • BPEL Process with multiple file types using one FTP adapter is not working

    i created a bpel process which will fetch the files from remote location using FTP adapter.
    Now the process works for only one format or file type like *.xls.
    How can i use more than one file format in one FTP adapter.
    OR
    is there any other way to do it.
    file type assignation is 5th step in FTP adapter configuration.
    i have tried *.xls,*.csv and *.xls;*.csv and *.xls:*.csv by seperating with comman, colon, space... still not working.
    i read the documentation *.* will not work.. for one file format it's working fine.
    looking forward for reply as soon as possible.

    Are you positive that it is not working? I'm not sure how you can use one FTP adapter for multiple file types unless the underlying data is exactly the same format or you are processing it as opaque data. Sometimes when a FTP adapter chokes on a file with a bad structure it doesn't create a BPEL instance, it simply moves the bad file to a separate folder.
    So I assume you are using opaque as the data type instead of using an XSD element?
    That said, I don't think you can put two separate file types in the filter. Is it possible for you to do something like: CommonFileName*.* or do you have similar files with other extensions?
    I know the above probably isn't of much help, but I had so many problems with the FTP adapter and its lack of features that I am writing my own. Unfortunately that is a large undertaking and there isn't any good documentation of JCA resource adapter / BPEL PM integration.

  • FTP Adapter Error

    Hi all,
    I have written a FTP adapter to read files from a remote FTP server.
    I have done all the settings as per the Oracle tutorial on FTP adapter.
    But I am getting errors while reading the files.
    Following is the part of the error trace in the log file:
    <FTP Adapter::Inbound> Translation failed as translator returned invalid lineNumber,columnNumber=null,null. Debatching checkpoint functionality will not work. Please raise a support request.
    <2006-12-13 12:07:47,795> <INFO> <default.collaxa.cube.activation> <FTP Adapter::Inbound> Failed to translate file : {/ABC204\NShipment.txt}
    <2006-12-13 12:07:47,810> <INFO> <default.collaxa.cube.activation> <FTP Adapter::Inbound> Sending message to Adapter Framework for rejection to user-configured rejection handlers : {
    file=/ABC204\NShipment.txt, Exception=ORABPEL-11211
    DOM Parsing Exception in translator.
    DOM parsing exception in inbound XSD translator while parsing InputStream.
    Check the error stack and fix the cause of the error. Contact oracle support if error is not fixable.
    <2006-12-13 12:07:47,810> <WARN> <default.collaxa.cube.activation> <AdapterFramework::Inbound> [Get_ptt::Get(ShipmentTransaction)] - onReject: The resource adapter 'FTP Adapter' requested handling of a malformed inbound message. However, the following bpel.xml activation property has not been defined: 'rejectedMessageHandlers'. Please define it and redeploy the business process. Will use the default Rejection Directory file://D:\OraBPELPM_1\integration\orabpel\domains\default\archive\jca\Feeder204_12062006\rejectedMessages for now.
    <2006-12-13 12:07:47,810> <WARN> <default.collaxa.cube.activation> <AdapterFramework::Inbound> [Get_ptt::Get(ShipmentTransaction)] - onReject: Sending invalid inbound message to Exception Handler:
    Also, we can read xml files using FTP adapter as well, right?
    Any inputs are highly appreciated.
    Thanks,
    Pram

    Hi all,
    I have written a FTP adapter to read files from a remote FTP server.
    I have done all the settings as per the Oracle tutorial on FTP adapter.
    But I am getting errors while reading the files.
    Following is the part of the error trace in the log file:
    <FTP Adapter::Inbound> Translation failed as translator returned invalid lineNumber,columnNumber=null,null. Debatching checkpoint functionality will not work. Please raise a support request.
    <2006-12-13 12:07:47,795> <INFO> <default.collaxa.cube.activation> <FTP Adapter::Inbound> Failed to translate file : {/ABC204\NShipment.txt}
    <2006-12-13 12:07:47,810> <INFO> <default.collaxa.cube.activation> <FTP Adapter::Inbound> Sending message to Adapter Framework for rejection to user-configured rejection handlers : {
    file=/ABC204\NShipment.txt, Exception=ORABPEL-11211
    DOM Parsing Exception in translator.
    DOM parsing exception in inbound XSD translator while parsing InputStream.
    Check the error stack and fix the cause of the error. Contact oracle support if error is not fixable.
    <2006-12-13 12:07:47,810> <WARN> <default.collaxa.cube.activation> <AdapterFramework::Inbound> [Get_ptt::Get(ShipmentTransaction)] - onReject: The resource adapter 'FTP Adapter' requested handling of a malformed inbound message. However, the following bpel.xml activation property has not been defined: 'rejectedMessageHandlers'. Please define it and redeploy the business process. Will use the default Rejection Directory file://D:\OraBPELPM_1\integration\orabpel\domains\default\archive\jca\Feeder204_12062006\rejectedMessages for now.
    <2006-12-13 12:07:47,810> <WARN> <default.collaxa.cube.activation> <AdapterFramework::Inbound> [Get_ptt::Get(ShipmentTransaction)] - onReject: Sending invalid inbound message to Exception Handler:
    Also, we can read xml files using FTP adapter as well, right?
    Any inputs are highly appreciated.
    Thanks,
    Pram

  • FTP adapter on BPEL

    I am using Oracle AS 10.1.3.1 on windows. My FTP server is also on Windows. But during invoke of outbound FTP adapter i am getting following error
    I am able to do FTP from AS machine to FTP server (Window) through command prompt and it is working fine.
    Error message
    <bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="code"><code>550</code>
    </part><part name="summary"><summary>file:/D:/product/10.1.3.1/OracleAS_1/bpel/domains/default/tmp/.bpel_ProfileProcesTest_1.3_42d6d84ceee8de6430d37dfbfaa14936.tmp/FTP_To_OUT.wsdl Put_ptt::Put(Root-Element) - WSIF JCA Execute of operation 'Put' failed due to: Error sending file to FTP Server.
    Unable to send file to server.
    ; nested exception is:
    ORABPEL-11429
    Error sending file to FTP Server.
    Unable to send file to server.
    Please ensure 1. Specified remote output Dir has write permission 2. Output filename has not exceeded the max chararters allowed by the OS and 3. Remote File System has enough space.
    </summary>
    </part><part name="detail"><detail>550 /FTPFolders/CUST_081210184025.txt: The system cannot find the path specified. </detail>
    </part></bindingFault>
    Defination of FTP Adapter is
    <definitions
    name="FTP_To_OUT"
    targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/ftp/FTP_To_OUT/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/ftp/FTP_To_OUT/"
    xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
    xmlns:imp1="http://TargetNamespace.com/Read"
    xmlns:hdr="http://xmlns.oracle.com/pcbpel/adapter/ftp/"
    <import namespace="http://xmlns.oracle.com/pcbpel/adapter/ftp/" location="ftpAdapterOutboundHeader.wsdl"/>
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" >
    <import namespace="http://TargetNamespace.com/Read" schemaLocation="CUST_2007330181610_1.xsd" />
    </schema>
    </types>
    <message name="Root-Element_msg">
    <part name="Root-Element" element="imp1:Root-Element"/>
    </message>
    <portType name="Put_ptt">
    <operation name="Put">
    <input message="tns:Root-Element_msg"/>
    </operation>
    </portType>
    <binding name="Put_binding" type="tns:Put_ptt">
    <jca:binding />
    <operation name="Put">
    <jca:operation
    FileType="binary"
    PhysicalDirectory="FTPFolders"
    InteractionSpec="oracle.tip.adapter.ftp.outbound.FTPInteractionSpec"
    FileNamingConvention="CUST_%yyMMddHHmmss%.txt"
    NumberMessages="1"
    OpaqueSchema="false" >
    </jca:operation>
    <input>
    <jca:header message="hdr:OutboundHeader_msg" part="outboundHeader"/>
    </input>
    </operation>
    </binding>
    <service name="FTP_To_OUT">
    <port name="Put_pt" binding="tns:Put_binding">
    <jca:address location="eis/Ftp/FtpAdapter" />
    </port>
    </service>
    <plt:partnerLinkType name="Put_plt" >
    <plt:role name="Put_role" >
    <plt:portType name="tns:Put_ptt" />
    </plt:role>
    </plt:partnerLinkType>
    </definitions>
    Defination of OC4j-ra.xml is
    <?xml version="1.0"?>
    <oc4j-connector-factories xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.oracle.com/technology/oracleas/schema/oc4j-connector-factories-10_0.xsd" schema-major-version="10" schema-minor-version="0" >
    <imported-shared-libraries>
    <import-shared-library name="oracle.bpel.common"/>
    <import-shared-library name="oracle.xml"/>
    </imported-shared-libraries>
    <connector-factory location="eis/Ftp/FtpAdapter" connector-name="Ftp Adapter">
    <config-property name="host" value="10.zzz.yy.xxx"/>
    <config-property name="port" value="21"/>
    <config-property name="username" value="xxx"/>
    <config-property name="password" value="yyy"/>
    <config-property name="keepConnections" value="true"/>
    <config-property name="serverType" value="win"/>
    <config-property name="serverLocaleLanguage" value=""/>
    <config-property name="serverLocaleCountry" value=""/>
    <config-property name="serverLocaleVariant" value=""/>
    <config-property name="serverEncoding" value=""/>
    <config-property name="useFtps" value="false"/>
    <config-property name="walletLocation" value="C:\wallet\ewallet.p12"/>
    <config-property name="walletPassword" value="welcome1"/>
    <config-property name="channelMask" value="both"/>
    <config-property name="securePort" value="990"/>
    <config-property name="keyStoreProviderName" value=""/>
    <config-property name="keystoreType" value=""/>
    <config-property name="keystoreAlgorithm" value=""/>
    <config-property name="enableCipherSuits" value=""/>
    <config-property name="proxyHost" value=""/>
    <config-property name="proxyPort" value=""/>
    <config-property name="proxyUsername" value=""/>
    <config-property name="proxyPassword" value=""/>
    <config-property name="proxyType" value=""/>
    <config-property name="proxyDefinitionFile" value=""/>
    <config-property name="useProxy" value="false"/>
    <config-property name="useSftp" value="false"/>
    <config-property name="authenticationType" value="password"/>
    <config-property name="preferredKeyExchangeAlgorithm" value="diffie-hellman-group1-sha1"/>
    <config-property name="preferredCompressionAlgorithm" value="none"/>
    <config-property name="preferredDataIntegrityAlgorithm" value="hmac-md5"/>
    <config-property name="preferredPKIAlgorithm" value="ssh-rsa"/>
    <config-property name="privateKeyFile" value=""/>
    <config-property name="preferredCipherSuite" value="blowfish-cbc"/>
    <config-property name="transportProvider" value="socket"/>
    <connection-pooling use="none">
    </connection-pooling>
    <security-config use="none">
    </security-config>
    </connector-factory>
    </oc4j-connector-factories
    Edited by: user6408601 on Dec 10, 2008 6:03 AM

    Probably the Windows FTP server chokes on the path "/FTPFolders/CUST_081210184025.txt" as it uses Unix separators. You may need to use "\FTPFolders\CUST_081210184025.txt". I can't see the properties in the XML you have given, but when you configure the FTP adapter in the application server console there should be one field for the separator and one for the root folder. Both should be "\" rather than "/" on Windows. The default is "/".
    Good luck!

  • IndexOutOfBoundsException with BPEL FTP adapter

    I am running SOA Suite 10.1.3.4 on WebLogic Server 9.2, and have deployed a simple test BPEL process that is using the FTP adapter to poll for files on a remote SFTP server, retrieve the opaque payload, then copy it to a destination file on another SFTP server. For small files this works fine. For larger files (e.g., a 3.5MB file with ~25000 fixed-length records) I get the following in my OracleSOAServer.log file:
    ===========================================
    java.lang.IndexOutOfBoundsException
         at java.io.ObjectInputStream.read(ObjectInputStream.java:822)
         at oracle.xml.comp.CXMLStream.ensureReadCapacity(CXMLStream.java:1673)
         at oracle.xml.comp.CXMLStream.readChars(CXMLStream.java:1324)
         at oracle.xml.comp.CXMLStream.readUTF(CXMLStream.java:870)
         at oracle.xml.parser.v2.XMLText.readExternal(XMLText.java:905)
         at oracle.xml.parser.v2.XMLNode.readChildNodes(XMLNode.java:2853)
         at oracle.xml.parser.v2.XMLNode.readChildNodes(XMLNode.java:2843)
         at oracle.xml.parser.v2.XMLDocument.readExternal(XMLDocument.java:3394)
         at com.collaxa.cube.xml.dom.SDOMHelper.loadCompressedNormalDom(SDOMHelper.java:345)
         at com.collaxa.cube.xml.dom.SDOMHelper.load(SDOMHelper.java:135)
         at com.collaxa.cube.xml.dom.DOMUtil.loadDocument(DOMUtil.java:2580)
         at com.collaxa.cube.engine.delivery.DeliveryHelper.loadParts(DeliveryHelper.java:933)
         at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:526)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:342)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean_yt19iq_ELOImpl.handleInvoke(CubeDeliveryBean_yt19iq_ELOImpl.java:931)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:141)
         at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:58)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    <2009-03-06 00:12:12,931> <ERROR> <default.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "cube delivery": Exception not handled by the Collaxa Cube system.
    An unhandled exception has been thrown in the Collaxa Cube system. The exception reported is: "ORABPEL-09222
    Cannot deserialize DOM element.
    Failed to deserialize the DOM element from binary format, the document id c4ee9a6854f6381d:-649649f8:11fda9c39f2:-7fcb. The exception reported is
         at com.collaxa.cube.xml.dom.SDOMHelper.loadCompressedNormalDom(SDOMHelper.java:355)
         at com.collaxa.cube.xml.dom.SDOMHelper.load(SDOMHelper.java:135)
         at com.collaxa.cube.xml.dom.DOMUtil.loadDocument(DOMUtil.java:2580)
         at com.collaxa.cube.engine.delivery.DeliveryHelper.loadParts(DeliveryHelper.java:933)
         at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:526)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:342)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean_yt19iq_ELOImpl.handleInvoke(CubeDeliveryBean_yt19iq_ELOImpl.java:931)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:141)
         at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:58)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    Exception: ORABPEL-09222
    Cannot deserialize DOM element.
    Failed to deserialize the DOM element from binary format, the document id c4ee9a6854f6381d:-649649f8:11fda9c39f2:-7fcb. The exception reported is
    Handled As: com.collaxa.cube.CubeException
    ORABPEL-00000
    ===========================================
    This happens immediately after the polling FTP adapter picks up the file. The IndexOutOfBoundsException is particularly troubling...is this error solely a function of memory (no OutOfMemory exception is being thrown), or is some other factor at work here? Any insights are appreciated.
    Thanks,
    --Gary                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    Hi Anirudh,
    Thanks for the response. To clarify: my BPEL process starts with a Receive activity (with "createInstance" set to "yes"), which is receiving from an FTP Adapter PartnerLink. This PartnerLink is polling for a file on an SFTP server. When this file is present, and is relatively small, the whole BPEL process completes successfully. When it is of a larger size, I get the error described in my original post. The cause of the indexOutOfBoundsException is what I'm trying to determine. Here is the source for my BPEL process:
    ===================================
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <!--
    Oracle JDeveloper BPEL Designer
    Created: Tue Mar 03 17:01:11 GMT-07:00 2009
    Author: Gary
    Purpose: Empty BPEL Process
    -->
    <process name="KFS_CNV_OpaqueFileRouting"
    targetNamespace="http://xmlns.oracle.com/KFS_CNV_BPEL_OpaqueFileRouting"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    queryLanguage="http://www.w3.org/TR/1999/REC-xpath-19991116"
    expressionLanguage="http://www.w3.org/TR/1999/REC-xpath-19991116"
    abstractProcess="no" enableInstanceCompensation="no"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:ns7="http://xmlns.oracle.com/pcbpel/adapter/ftp/ReceiveInputFile/"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:ns5="http://xmlns.oracle.com/pcbpel/adapter/file/"
    xmlns:client="http://xmlns.oracle.com/KFS_CNV_BPEL_FileRouting"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:ns3="http://xmlns.oracle.com/pcbpel/adapter/ftp/"
    xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/opaque/"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ns8="http://xmlns.oracle.com/pcbpel/adapter/ftp/WriteOutputFile/">
    <!--
    PARTNERLINKS
    List of services participating in this BPEL process
    -->
    <!--
    VARIABLES
    List of messages and XML documents used within this BPEL process
    -->
    <partnerLinks>
    <partnerLink myRole="GetFile_role" name="ReceiveInputFile"
    partnerLinkType="ns7:GetFile_plt"/>
    <partnerLink name="WriteOutputFile" partnerRole="PutFile_role"
    partnerLinkType="ns8:PutFile_plt"/>
    </partnerLinks>
    <variables>
    <variable name="ReceiveFileContents_GetFile_InputVariable"
    messageType="ns7:GetFile_msg"/>
    <variable name="FtpHeaderData" messageType="ns3:InboundHeader_msg"/>
    <variable name="DestFileHeader" messageType="ns3:OutboundHeader_msg"/>
    <variable name="OutboundFileContents" messageType="ns8:PutFile_msg"/>
    </variables>
    <!--
    ORCHESTRATION LOGIC
    Set of activities coordinating the flow of messages across the
    services integrated within this business process
    -->
    <sequence name="main">
    <receive name="ReceiveFileContents" partnerLink="ReceiveInputFile"
    portType="ns7:GetFile_ptt" operation="GetFile"
    variable="ReceiveFileContents_GetFile_InputVariable"
    createInstance="yes" bpelx:headerVariable="FtpHeaderData"/>
    <assign name="AssignDestFileHeader">
    <copy>
    <from variable="FtpHeaderData" part="inboundHeader"
    query="/ns3:InboundFTPHeaderType/ns3:fileName"/>
    <to variable="DestFileHeader" part="outboundHeader"
    query="/ns3:OutboundFTPHeaderType/ns3:fileName"/>
    </copy>
    </assign>
    <assign name="AssignDestFileContents">
    <copy>
    <from variable="ReceiveFileContents_GetFile_InputVariable" part="opaque"
    query="/ns2:opaqueElement"/>
    <to variable="OutboundFileContents" part="opaque"
    query="/ns2:opaqueElement"/>
    </copy>
    </assign>
    <invoke name="PushFileContents" partnerLink="WriteOutputFile"
    portType="ns8:PutFile_ptt" operation="PutFile"
    inputVariable="OutboundFileContents"/>
    </sequence>
    </process>
    ===================================
    Thanks,
    --Gary                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Maybe you are looking for