XI fileadapter

Dear colleagues,
I've got an xi file adapter picking up files via ftp from a ftp server. I defined this file adapter in XI.
This file adapter works fine if msg protocol 'file' is used. The file adapter stops to pick up any file, if msg protocol 'Umwandlung des Datei-inhalts'('convert file contents') is defined.
Do you have a clue why the xi stops to pick up files.
Regards
Klaus

Hi klaus,
Have you given the File Content Conversion paramters correctly..What Does the Adapter Framework monitor display.....?By the way in which SP level is your XI system?
Cheers
Romit.

Similar Messages

  • Variable Filename in Sender-Fileadapter

    Hello,
    i have a question about the possibility to implement the following part of a scenario:
    Step 1: An E-Mail with a filename will be sent to the XI
    Step 2: There starts an BPM process
    Step 3: The XI read the filename from the mail
    Step 4: The Sender-Fileadapter gets the filename which was sent by mail
    Step 5: The File "filename" is read from the filesystem
    Now the question is, how do I get the filename to the configuration of the Sender-Fileadapter?
    Can i use variable-substitution? When yes, how?
    Do i have to implement an adapter-module?
    Is this possible at all? Or do i have to implement the scenario in an other way?
    Thorsten

    Hi Thorsten,
    I feel your assumption is wrong.
    >Step 1: An E-Mail with a filename will be sent to the >XI
    Step 1: An E-Mail with an attachment with some name will be sent to the XI
    >Step 4: The Sender-Fileadapter gets the filename >which was sent by mail
    You are assumption that Sender File Adapter is wrong.
    Possiblity is that you will read the attachement name from Mail Message(Mail Adapter) using Dynamic Configuration(in mapping) and you can use this name further according to your requirement.
    This is what I grasped from your explanation. If any where my understanding is wrong please let me know your exact requirement.
    thanks,
    Gujjeti
    Edited by: Praveen Gujjeti on Apr 23, 2008 2:07 PM

  • Inserting null values from FileAdapter to DB Adapter thru Transform activit

    Hi,
    i am trying to insert a record from a file to DB for that i have used FileAdapter and DB Adapter in between it have used Tranform activity for passing from fileadpter receive var to Db Adapter Invoke var can .in the Bpel Instance values are passed up to tranform activity
    below the xsl code and Bpel code
    Xsl
    +<?xml version="1.0" encoding="UTF-8" ?>
    <?oracle-xsl-mapper
    <!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
    <mapSources>
    <source type="XSD">
    <schema location="test3_1.xsd"/>
    <rootElement name="readrecord" namespace="http://TargetNamespace.com/pickfile"/>
    </source>
    </mapSources>
    <mapTargets>
    <target type="XSD">
    <schema location="insertintoTbl_table.xsd"/>
    <rootElement name="XxempCollection" namespace="http://xmlns.oracle.com/pcbpel/adapter/db/top/insertintoTbl"/>
    </target>
    </mapTargets>
    <!-- GENERATED BY ORACLE XSL MAPPER 10.1.3.5.0(build 090730.0200.1754) AT [FRI MAY 20 16:46:20 IST 2011]. -->
    ?>
    <xsl:stylesheet version="1.0"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
    xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ns0="http://xmlns.oracle.com/pcbpel/adapter/db/top/insertintoTbl"
    xmlns:tns="http://TargetNamespace.com/pickfile"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    exclude-result-prefixes="xsl xsd nxsd tns ns0 bpws ehdr hwf xref xp20 ora orcl ids">
    <xsl:template match="/">
    <ns0:XxempCollection>
    <ns0:Xxemp>
    <ns0:empcode>
    <xsl:value-of select="/tns:readrecord/tns:C1"/>
    </ns0:empcode>
    <ns0:emptr>
    <xsl:value-of select="/tns:readrecord/tns:C2"/>
    </ns0:emptr>
    <ns0:name>
    <xsl:value-of select="/tns:readrecord/tns:C3"/>
    </ns0:name>
    <ns0:division>
    <xsl:value-of select="/tns:readrecord/tns:C4"/>
    </ns0:division>
    <ns0:dept>
    <xsl:value-of select="/tns:readrecord/tns:C5"/>
    </ns0:dept>
    <ns0:doj>
    <xsl:value-of select="/tns:readrecord/tns:C6"/>
    </ns0:doj>
    <ns0:designation>
    <xsl:value-of select="/tns:readrecord/tns:C7"/>
    </ns0:designation>
    <ns0:qualification>
    <xsl:value-of select="/tns:readrecord/tns:C8"/>
    </ns0:qualification>
    </ns0:Xxemp>
    </ns0:XxempCollection>
    </xsl:template>
    </xsl:stylesheet>
    +
    Bpelcode
    +
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <!--
    Oracle JDeveloper BPEL Designer
    Created: Thu May 19 19:43:57 IST 2011
    Author: naveenv
    Purpose: Empty BPEL Process
    -->
    <process name="FileToTbl" targetNamespace="http://xmlns.oracle.com/FileToTbl"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    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:ns4="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/BPELINSERT/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    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/db/insertintoTbl/"
    xmlns:client="http://xmlns.oracle.com/FileToTbl"
    xmlns:ns6="http://xmlns.oracle.com/pcbpel/adapter/db/top/insertintoTbl"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/file/pickfile/"
    xmlns:ns3="http://TargetNamespace.com/pickfile"
    xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/db/inserttoTbl/"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
    <!--
    PARTNERLINKS
    List of services participating in this BPEL process
    -->
    <partnerLinks>
    <partnerLink myRole="Read_role" name="pickfile"
    partnerLinkType="ns1:Read_plt"/>
    <partnerLink name="insertintoTbl" partnerRole="insertintoTbl_role"
    partnerLinkType="ns5:insertintoTbl_plt"/>
    </partnerLinks>
    <!--
    VARIABLES
    List of messages and XML documents used within this BPEL process
    -->
    <variables>
    <variable name="Receive_1_Read_InputVariable"
    messageType="ns1:readrecord_msg"/>
    <variable name="Invoke_1_insert_InputVariable"
    messageType="ns5:XxempCollection_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="Receive_1" partnerLink="pickfile" portType="ns1:Read_ptt"
    operation="Read" variable="Receive_1_Read_InputVariable"
    createInstance="yes"/>
    <assign name="Transform_1">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('Transformation_1.xsl',bpws:getVariableData('Receive_1_Read_InputVariable','readrecord'))"/>
    <to variable="Receive_1_Read_InputVariable" part="readrecord"/>
    </copy>
    </assign>
    <invoke name="Invoke_1" partnerLink="insertintoTbl"
    portType="ns5:insertintoTbl_ptt" operation="insert"
    inputVariable="Invoke_1_insert_InputVariable"/>
    </sequence>
    </process>
    +
    can anyone please help me

    Hi,
    yes i could see the values in the trsnaform activity
    Receive_1
    [2011/05/20 06:02:49 PM] Received "Receive_1_Read_InputVariable" call from partner "pickfile" less
    -<Receive_1_Read_InputVariable>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="readrecord">
    -<readrecord xmlns="http://TargetNamespace.com/pickfile">
    <C1>579
    </C1>
    <C2>EMPLOYEE
    </C2>
    <C3>NITIN RAO
    </C3>
    <C4>IME
    </C4>
    <C5>ORACLE
    </C5>
    <C6>4-Jan-99
    </C6>
    <C7>Senior Consultant
    </C7>
    <C8>B.TECH
    </C8>
    </readrecord>
    </part>
    </Receive_1_Read_InputVariable>
    Transform_1
    [2011/05/20 06:02:49 PM] Updated variable "Receive_1_Read_InputVariable" less
    -<Receive_1_Read_InputVariable>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="readrecord">
    -<readrecord xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:db="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/BPELINSERT/" xmlns="http://TargetNamespace.com/pickfile">
    <db:EMPCODE>579
    </db:EMPCODE>
    <db:EMPTR>EMPLOYEE
    </db:EMPTR>
    <db:NAME>NITIN RAO
    </db:NAME>
    <db:DIVISION>IME
    </db:DIVISION>
    <db:DEPT>ORACLE
    </db:DEPT>
    <db:DOJ>4-Jan-99
    </db:DOJ>
    <db:DESIGNATION>Senior Consultant
    </db:DESIGNATION>
    <db:QUALIFICATION>B.TECH
    </db:QUALIFICATION>
    </readrecord>
    </part>
    </Receive_1_Read_InputVariable>
    Invoke_1
    [2011/05/20 06:02:50 PM] Invoked 1-way operation "inserttoDb" on partner "inserttoDb". less
    -<Invoke_1_inserttoDb_InputVariable>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="InputParameters">
    <InputParameters xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/BPELINSERT/"/>
    </part>
    </Invoke_1_inserttoDb_InputVariable

  • How to modify Fileadapter filename with val from JMS msg using xsl?

    In my case I need to name the file based on information received in a JMS message.
    I would like to receive an xml document from a JMS queue, the document will contain content as well as the name of a file to be saved off. I found references to something similar in the BPEL and ESB documentation for the file adapter by using "ehdr:setOutboundHeader(" as a means to set the outbound header value but I cannot find the mechanics of how to accomplish getting that set with a value that is selected from an incoming message in XSL code.
    The examples shown indicate the creation of a pass through mechanism that would take a message from a request header and pass it along to the outbound header which is great but I need a snippet of code to get me through setting the outbound header with an element value that is sourced from the inbound message.
    I also found an incomplete reference in a "Oracle SOA Suite Enterprise Server Bus" powerpoint presentation that indicates JMS custom properties support for "Property[@name=&quot;Country&quot;]/@value" but no details were provided to assist further.
    I would greatly appreciate any information you can provide.
    Thank You,
    John

    Ok I was able to get fileadapter filenames modified.
    First you cannot do this after a dbadapter query as that functionality seems to be broken. The best way to solve it for me was to simplify the problem, I started with placing the setoutbound header data after reading a simple file and ignoring the files content altogether. I do the set inside a match of the xslt using a constant value, again for simplicity. For the test just put in 'ateststring.txt' in the setoutbound header call, no need to select data from the document at this point; we will get to that. Now get that to work.
    Once you have that working take a value from the incoming document and select it into a variable named myvariable then replace the 'ateststring.txt' with $myvariable. So basically its a three step process for the final solution. Select the data of interest from the document into a variable. add a select statement to make the method call just after that. Make the method call inside the select statement and prepend the variable name with the $ symbol.
    So far I have only tested this file to file and file to ftp, I suspect that jmsadapter to file will work fine too. So the trick for me was to understand that if an incoming document is the result of a query that just wont do. My requirement was to take an input JMS request, use that to drive a query, take the data from the query and write it to a filename as defined in the JMS request. No matter what I did to set the frustrating fileadapter/ftpadapter filename in the header I was unable to do so. I used constant strings etc in every part of the document ( before select, inside select, outside select etc ). It wasnt until I went file to file that I was able to get this to work at all. And then not in the xslt header etc, it MUST be in an area of the document that resulted in a select match, which after review makes sense.
    To work around the query to file issue, I place the results of the data query into a temporary filename%SEQ%.tmp, along with the query results I add the real filename inside the document. I have a file listener that listens for the filename using wildcards filename*.tmp, it takes the file reads it in, pulls the permanent filename from the incoming document, and sets that filename in the header using the steps worked out above by selecting the filename into myvariable.
    You cannot ( to my knowlege ) store variables in ESB so I found I had to put them inside the documents to move the data around. When I am all done with the work through the routing service I strip out the variable data fields that I needed to carry along with the data.
    I hope this saves someone else a bit of frustration!
    John

  • Fileadapter filename in archive

    Hi,
    just a question about the archive functionality in the file adapter.
    We are using the process mode "archive" with the option "add time stamp" in the sender fileadapter. Is there a way to get the filename of the archived file in the mapping ? I checked the DynamicConfiguration but it's not there.
    Bernd

    Is there a way to get the filename of the archived file in the mapping ?
    As mentined there is no standard ASMA or Dynamic configuration for this.
    But you can combine both of these to achive your requiremnet. Please read the source file name from ASMA and get that name in your mapping using dynamic configuration. In your mapping you can add the timestamp with your file name (standard graphical mapping functiioalities). does this approach looks feasible to you.?
    One issue would be the time difference in sender adapter and in the mapping runtime.

  • How to retain the same input filename with FileAdapter

    I use FileAdapter to read a file. I need to archive the file using the same filename. So I copied the input file to another FileHeader then write the file to the archived directory using FileAdapter. But the archived file does not retain the original filename. Here is a section of my code:
    <variable name="Variable_FileHeader" element="ns2:InboundFileHeaderType"/>
    <variable name="Variable_Archive_FileHeader" element="ns2:OutboundFileHeaderType"/>
    <receive name="Receive_FileReader" partnerLink="FileReader" portType="ns1:Get_ptt" operation="Get"
    variable="Receive_FileReader_Get_InputVariable" createInstance="yes" bpelx:headerVariable="Variable_FileHeader"/>
    <assign name="Archive">
    <copy>
    <from variable="Receive_FileReader_Get_InputVariable" part="opaque"/>
    <to variable="Invoke_Archive_Put_InputVariable" part="opaque"/>
    </copy>
    <copy>
    <from variable="Variable_FileHeader" query="/ns2:InboundFileHeaderType/ns2:fileName"/>
    <to variable="Variable_Archive_FileHeader" query="/ns2:OutboundFileHeaderType/ns2:fileName"/>
    </copy>
    </assign>
    <invoke name="Invoke_FileArchive" partnerLink="FileArchive" portType="ns3:Put_ptt" operation="Put"
    inputVariable="Invoke_Archive_Put_InputVariable" bpelx:headerVariable="Variable_Archive_FileHeader"/>
    in the FileArchive.wsdl, I did not remove the FileNamingConvention line because if I removed it, the compiler will complain:
    <jca:operation
    PhysicalDirectory="D:\projects\Butterfield Bank\BPEL-ESB\FileConverter\files_archived"
    InteractionSpec="oracle.tip.adapter.file.outbound.FileInteractionSpec"
    FileNamingConvention="Archive_%SEQ%.txt" <=== what should I put here to retain the same filename?????
    OpaqueSchema="true" >
    </jca:operation>
    The file being archived still have the convention Archive1.txt and not using the original filename.
    Thanks for any help
    AJ

    Hi,
    I have done the same thing and I don't face any problem. Below is the code:
    <variables>
    <variable name="Receive_1_Read_InputVariable" messageType="ns1:Read_msg"/>
    <variable name="Invoke_1_Write_InputVariable" messageType="ns2:Write_msg"/>
    <variable name="InFile" messageType="ns4:InboundHeader_msg"/>
    <variable name="OutFile" messageType="ns4:OutboundHeader_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="Receive_1" partnerLink="Read" portType="ns1:Read_ptt"
    operation="Read" variable="Receive_1_Read_InputVariable"
    createInstance="yes" bpelx:headerVariable="InFile"/>
    <assign name="Assign_1">
    <copy>
    <from variable="Receive_1_Read_InputVariable" part="opaque"
    query="/ns3:opaqueElement"/>
    <to variable="Invoke_1_Write_InputVariable" part="opaque"
    query="/ns3:opaqueElement"/>
    </copy>
    <copy>
    <from variable="InFile" part="inboundHeader"
    query="/ns4:InboundFileHeaderType/ns4:fileName"/>
    <to variable="OutFile" part="outboundHeader"
    query="/ns4:OutboundFileHeaderType/ns4:fileName"/>
    </copy>
    </assign>
    <invoke name="Invoke_1" partnerLink="Write" portType="ns2:Write_ptt"
    operation="Write" inputVariable="Invoke_1_Write_InputVariable"
    bpelx:inputHeaderVariable="OutFile"/>

  • FileAdapter write mode - Dynamic filename, write down simple text structure

    Hi,
    I tried to use the FileAdapter in a BPEL Process to write down and existing structure as String, comming from Database (CLOB), which has a defined structure.
    My first problem is, that I assign an output filename through the output message header variable, but it does not work. Instead always the name from the Filename convention is taken (wizard like po_%SEQ%.txt).
    My second problem is, that the FileAdapater destroyes the format during the write procedure. E.g.: The String structure is as follows:
    MKKOPF EF585773 07.05.2009 1 XXX Spielapparate u. Restaurant- betriebsgmbH 40031356 Brehmstraße 21 1110 Wien 900000585773 EUR ML
    MKMAIL [email protected]
    MKEINZ EF4428643 28.06.2009 Test Card Casino XXX Gesamtausgabe Textteil Allgemein Großanzeige 4C 1 ST 1 489,00 489,00 GES
    MKPOS. EF4428644 26.07.2009PRVB 948,66 / 10 / +5% WA
    a.s.o, . So you can see, its quite a simple format, which has to stay like that!
    First I tried to use the opaque mode for the fileoutput format, but I was stopped, because of the '/' characters in the source data. So I used the native builder to create a xml schema (I used deliminated file, multiple records, deliminated by white spaces, tabs and spaces). To identify the multiple records, I have chosen the end of line (eol). Except EOF and EOL there is no other choice, like CRLF,\r,\n!
    However, testing my native format, result in writting a file with containing a single line with the original data. So the original line breaks are gone, and therefore the system who should process it further gets an parsing error!
    The simple question is, how can I simple write down string data (containing German special chars, like Öäü --> ISO8859-1 and also XML reserved values like /) through the file adapter without destroying its structure?
    Second, how can I pass dynamically the filename, as using the output header values does not work?
    I hope some specialists are out there.
    Thanks & BR,
    Peter

    Hi James,
    here what I am doing.
    I read some records from the database throught the database adapter. The returned records representing strings, which should be written, line by line separated by 0xA (\n) to a single file.
    Also for the file write we use a Oracle SOA Adapter --> the FileAdapter.
    We discussed quiet some time about opaque schema and native builder. So on my understanding only the native builder version works. Otherwise I get an error, because of the contained slashes in the string record.
    What I am searching for is an easy way for aggregating this database row strings and append it with 0xA (\n).
    With XPath functions, like create-deliminated-string(node, '#xA') I had no success. Adhering to XML the signs #xA should represent 0xA, but it does not work.
    Also in using the encodeLineTerminators &#10; is not working.
    So I had really write a long bpel construct, combined with a Java Code Emeeding to do such a simple thing:
    Here is the interessting part (hiden the while loop, index handling and final fileadapter write call details):
    <while name="While_1"
    condition="($VariableSapBillingJobs > 0) and ($VariableIndex &lt;= $VariableSapBillingJobs)">
    <sequence name="Sequence_4">
    <sequence name="Sequence_4">
    <assign name="Assign">
    <copy>
    <from expression="concat(bpws:getVariableData('VariableBuffer'), bpws:getVariableData('InvokeSapDataSelection_eBillingSapDB4Select_OutputVariable','eBillingSapDB4SelectOutputCollection','/ns8:eBillingSapDB4SelectOutputCollection/ns8:eBillingSapDB4SelectOutput[$VariableIndex]/ns8:LINE'))"/>
    <to variable="VariableBuffer"/>
    </copy>
    </assign>
    *<bpelx:exec name="JavaAppendCRLF" language="java"*
    version="1.5">
    <![CDATA[String buffer = (String)getVariableData("VariableBuffer");    
    buffer += "\n";     
    setVariableData("VariableBuffer", buffer);]]>
    </bpelx:exec>
    <assign name="AggregateStructure">
    <copy>
    <from expression="$VariableIndex + 1"/>
    <to variable="VariableIndex"/>
    </copy>
    </assign>
    </sequence>
    </sequence>
    </while>
    There must be a simpler way like that!
    Do you or somebody else a simpler way? Doing it with the FileAdapter native builder, or at least with a XPath function?
    Furthermore my next homework is, the inverse operation. I will read a file, this time terminated with 0xD 0xA, and must translate it to XML to use it further in my bpel process.
    Also here I have not the idea, where the fileadapter supports me.
    Thanks & BR,
    Peter

  • Custom Filename for ESB FileAdapter Write

    Hi,
    I have a ESB service that monitors and deqeues from the oracle.apps.po.event.xmlpo business event via the Oracle Applications adapter. This works fine as the WF_EVENT_T schema is routed via an XSL to a custom XML which is used later.
    However, I want the file to use a custom filename with the file adapter. In principle I know how to do this using the ehdr:setOutboundHeader functionality and have got this to work when setting a static filename.
    However, I want to be able to create the filename based on the Purchase Order Number coming from the WF_EVENT_T schema. It seems that the ehdr:setOutboundHeader function has to be set before any of the XML Template matches, which means at this point the Purchase Order number is not available. Below is the main parts of the XSL.
    <xsl:variable name="CustomFilename" select="'/ns2:PONo"/>
    <xsl:variable name="AssignFilename"
    select="ehdr:setOutboundHeader('/ns1:OutboundFileHeaderType/ns1:fileName',$CustomFilename,'ns1=http://xmlns.oracle.com/pcbpel/adapter/file/Capture_PO_Event_Data/;')"/>
    <xsl:template match="/">
    <ns2:HCNPOWFEVENT>
    <xsl:for-each select="/imp1:WF_EVENT_T/PARAMETER_LIST/PARAMETER_LIST_ITEM">
    <xsl:if test='NAME = "DOCUMENT_NO"'>
    <ns2:PONo>
    <xsl:value-of select="VALUE"/>
    </ns2:PONo>
    </xsl:if>
    </xsl:for-each>
    <xsl:for-each select="/imp1:WF_EVENT_T/PARAMETER_LIST/PARAMETER_LIST_ITEM">
    <xsl:if test='NAME = "ECX_TRANSACTION_TYPE"'>
    <ns2:POType>
    <xsl:value-of select="VALUE"/>
    </ns2:POType>
    </xsl:if>
    </xsl:for-each>
    <xsl:for-each select="/imp1:WF_EVENT_T/PARAMETER_LIST/PARAMETER_LIST_ITEM">
    <xsl:if test='NAME = "ECX_TRANSACTION_SUBTYPE"'>
    <ns2:POSubType>
    <xsl:value-of select="VALUE"/>
    </ns2:POSubType>
    </xsl:if>
    </xsl:for-each>
    <xsl:for-each select="/imp1:WF_EVENT_T/PARAMETER_LIST/PARAMETER_LIST_ITEM">
    <xsl:if test='NAME = "ECX_PARAMETER5"'>
    <ns2:OrgId>
    <xsl:value-of select="VALUE"/>
    </ns2:OrgId>
    </xsl:if>
    </xsl:for-each>
    <xsl:for-each select="/imp1:WF_EVENT_T/PARAMETER_LIST/PARAMETER_LIST_ITEM">
    <xsl:if test='NAME = "ECX_PARTY_ID"'>
    <ns2:ECXPartyId>
    <xsl:value-of select="VALUE"/>
    </ns2:ECXPartyId>
    </xsl:if>
    </xsl:for-each>
    <xsl:for-each select="/imp1:WF_EVENT_T/PARAMETER_LIST/PARAMETER_LIST_ITEM">
    <xsl:if test='NAME = "ECX_PARTY_SITE_ID"'>
    <ns2:ECXPartySiteId>
    <xsl:value-of select="VALUE"/>
    </ns2:ECXPartySiteId>
    </xsl:if>
    </xsl:for-each>
    </ns2:HCNPOWFEVENT>
    </xsl:template>
    </xsl:stylesheet>
    Any ideas on how this can be achieved ?

    Ok I was able to get fileadapter filenames modified.
    First you cannot do this after a dbadapter query as that functionality seems to be broken. The best way to solve it for me was to simplify the problem, I started with placing the setoutbound header data after reading a simple file and ignoring the files content altogether. I do the set inside a match of the xslt using a constant value, again for simplicity. For the test just put in 'ateststring.txt' in the setoutbound header call, no need to select data from the document at this point; we will get to that. Now get that to work.
    Once you have that working take a value from the incoming document and select it into a variable named myvariable then replace the 'ateststring.txt' with $myvariable. So basically its a three step process for the final solution. Select the data of interest from the document into a variable. add a select statement to make the method call just after that. Make the method call inside the select statement and prepend the variable name with the $ symbol.
    So far I have only tested this file to file and file to ftp, I suspect that jmsadapter to file will work fine too. So the trick for me was to understand that if an incoming document is the result of a query that just wont do. My requirement was to take an input JMS request, use that to drive a query, take the data from the query and write it to a filename as defined in the JMS request. No matter what I did to set the frustrating fileadapter/ftpadapter filename in the header I was unable to do so. I used constant strings etc in every part of the document ( before select, inside select, outside select etc ). It wasnt until I went file to file that I was able to get this to work at all. And then not in the xslt header etc, it MUST be in an area of the document that resulted in a select match, which after review makes sense.
    To work around the query to file issue, I place the results of the data query into a temporary filename%SEQ%.tmp, along with the query results I add the real filename inside the document. I have a file listener that listens for the filename using wildcards filename*.tmp, it takes the file reads it in, pulls the permanent filename from the incoming document, and sets that filename in the header using the steps worked out above by selecting the filename into myvariable.
    You cannot ( to my knowlege ) store variables in ESB so I found I had to put them inside the documents to move the data around. When I am all done with the work through the routing service I strip out the variable data fields that I needed to carry along with the data.
    Please let me know how you are going with this, I hope this saves someone else a bit of frustration.
    Thanks again,
    John

  • How to use debatching function for SyncRead FileAdapter?

    Dear all,
    We are using Inbound Opague fileadapter to read the filename, then invoke the syncRead Fileadpter to get the content. My question is how to set batching for syncRead Fileadapter? I didn't find this option in wizard.
    Platform is SOA Suite 11.1.1.3.
    Thank you.
    Regards,
    Tony

    Again as I said I never implemented. You can try having a invoke activity in while loop. I believe batch of 10 means it will read 10 records and every time in while loop you should increment BatchIndex.
    You can raise a Oracle Support ticket if required.

  • Copying file in fileadapter with os command line

    Hi XI - Species
    I examined the following blogs:
    /people/sameer.shadab/blog/2005/09/21/executing-unix-shell-script-using-operating-system-command-in-xi
    /people/michal.krawczyk2/blog/2005/08/17/xi-operation-system-command--error-catching
    We are on XI 7.0 SP 12 under AIX. Meanwhile there is a parameter for os command before message processing and after message processing.
    We want to copy a file for separate processing by an other fileadapter, with the following command /usr/bin/cp %F  /tmp/XI/ECHtoSAP/ELEC/MECOM/testcpbefor_mec
    My experience is, that this command only works in the parameter before message processing in combination with the message protocol nfs.
    Is there anybody who can answer the following questions:
    1. Why does'nt the command work in after message processing with nfs? The monitor says command execution successfully, but the file is not copied.
    2. Which file is expected to be copied after message processing? The original file (flat file) or the xml produced by the fileadapter?
    3. What is meant by after message processing? After completion of the whole scenario or after the processing of the fileadapter?
    4. Do these commands work with Ftp?
    Thanks for a soon answer?
    Regards Marlies

    > Hi XI - Species
    >
    > I examined the following blogs:
    >
    > https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/
    > 2411
    > https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/
    > 2184
    >
    > We are on XI 7.0 SP 12 under AIX. Meanwhile there is
    > a parameter for os command before message processing
    > and after message processing.
    >
    > We want to copy a file for separate processing by an
    > other fileadapter, with the following command
    > /usr/bin/cp %F
    >  /tmp/XI/ECHtoSAP/ELEC/MECOM/testcpbefor_mec
    >
    > My experience is, that this command only works in the
    > parameter before message processing in combination
    > with the message protocol nfs.
    >
    >
    > Is there anybody who can answer the following
    > questions:
    >
    > 1. Why does'nt the command work in after message
    > processing with nfs? The monitor says command
    > execution successfully, but the file is not copied.
    Check if the user who is executing the command has the requried permission to cpoy the file and the user who will be executing this command is be "<SID>adm"
    > 2. Which file is expected to be copied after message
    > processing? The original file (flat file) or the xml
    > produced by the fileadapter?
    The Original input file
    > 3. What is meant by after message processing? After
    > completion of the whole scenario or after the
    > processing of the fileadapter?
    I think this means after processing of the scenario to my best knowledge
    > 4. Do these commands work with Ftp?
    not sure
    > Thanks for a soon answer?
    > Regards Marlies

  • How to read Filename using FileAdapter

    I am trying to write some xml files using FileAdapter of SOA11g. For that I have created synchronous BPEL process.
    My xyz.jca file looks something like this:
    <endpoint-interaction portType="Write_ptt" operation="Write">
    <interaction-spec className="oracle.tip.adapter.file.outbound.FileInteractionSpec">
    <property name="PhysicalDirectory" value="/mnt/vol_ora_SOADEV1_apps_01/DevCsvFiles/Inventory"/>
    <property name="Append" value="false"/>
    <property name="FileNamingConvention" value="FileTemp%SEQ%.txt"/>
    <property name="NumberMessages" value="1"/>
    </interaction-spec>
    </endpoint-interaction>
    Now the problem is I want to know the filename which is just being written by this Adapter. I want to use that filename later in my code.
    I tried using filename property in invove activity, but I am unable to read filename after its written to disk.

    Got right way to do it. Create one variable eg varFileName, assign some value eg. "Filenamexyz.ext" and refer to that variable (set properties of invoke activity jca.file.filename as varFileName and type 'Input')in Invoke activity invoking read adapter .

  • [Urgent] How to let FileAdapter to read next file after a customized period

    Dear friends,
    We are using SOA Suite 11.1.1.5 and use FileAdapter in BPEL Process to read files.
    The file adapter in BPEL Process need to handle 14 inbound different files every batch time. And we want to let File Adapter to start reading next file after every 5 minutes. How can we achive this?
    We tried the MinimumAge and SingleThreadModel properties, but seems no use.
    Thank you in advance.
    Regards,
    Tony

    Hi Tony,
    I think this can help you. Set the following JCA property in File/FTP Adapter .jca file. This will restrict the max no. of files to be read every polling cycle. Set the polling frequency to 5 mins.
           <property name="MaxRaiseSize" value="1"/>Let me know if any problems.
    Regards,
    Neeraj Sehgal

  • Fileadapter to read Orderheader / Orderline structure

    Hi all,
    I need to read a file containing a structure like the following
    01,ordernumber1,abc,def
    02,ordernumber1,orderline1,123,456,890
    02,ordernumber1,orderline2,321,654,098
    01,ordernumber2,abc,def
    02,ordernumber2,orderline1,123,456,890
    02,ordernumber2,orderline2,321,654,098
    02,ordernumber1,orderline3,321,654,098
    and so on
    In words : first a line with orderheader (type 01) then several orderlines (type 02). orderheader and orderline are linked to each other via ordernumber
    Type 01 and tpye 02 have different layouts.
    I need to read this file and create one IDOC out of each order (type 01).
    Any idea how to do this in the fileadapter except writing a module ?
    many thx in advance
    Uwe

    Hello,
    Take a look at the sender File adapter. You can do your requirement using the standard file adapter.
    http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
    Cheers,
    naveen

  • Username and pwd for FileAdapter with NFS as transport protocol

    Hi,
    we installed PI 7.1 in windows env.
    to access a particular target location manually from the PI windows server, the procedure is:
    in the Start->Run or in the explorer bar we type the ip as "
    121.1.2.3\SourceFolder", then the windows asks for the username and pwd, once we enter valid username/pwd, we get the access to the "
    121.1.2.3\SourceFolder".
    to poll the files under this folder, we setup a FileAdapter Communication Channel with TransportProtocol=NFS. (so its not FTP).
    In the "File access Parameters" section, in the "source directory" value we entered as "
    121.1.2.3\SourceFolder"
    but where can we provide the username and password that would be required to access this folder.
    when we activated the CC, in the RWB, we see log as:
    Configured source directory '
    121.1.2.3\SourceFolder' does not exist
    thanks.

    Hi,
    to access a particular target location manually from the PI windows server, the procedure is:
    in the Start->Run or in the explorer bar we type the ip as "\\121.1.2.3\SourceFolder", then the windows asks for the username and pwd, once we enter valid username/pwd, we get the access to the "\\121.1.2.3\SourceFolder".
    So the folder does not exits in your XI installed server. It will be there in some other Server location.If am correct then NFS protocol not work for this. you should required FTP for accessing the external server path. NFS protocol used to access the local XI machine path only.
    Regards,
    Prakasu.M

  • SSL exception when using FileAdapter - PI 7.0

    Hi,
    I'm currently using the FileAdapter to send a CSV file to an external FTPs server. I have loaded the FTPs server certificated into the ClientCertificates keystore in J2EE as well as the Verisign intermediate and root certs into the Trusted CAs. When testing the connection, i'm still getting a chain verification exception like below:
    Delivery of the message to the application using connection File_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: Peer certificate rejected by ChainVerifier: iaik.security.ssl.SSLCertificateException: Peer certificate rejected by ChainVerifier.
    Has anyone had experience configuring this scenario and might be able to help out?
    Many thanks,
    Nicholas

    This is a typical answer to OSS ticket concerning this issue:
    "A strict server name check is first performed in the SSL handshake,    
    before any certificate chain is verfied against the certificates in the
    Trusted CA keytore view.                                                                               
    The strict server name check means that the CN in the server certificate
    must exactly match the host name in the request URL.                   
    In this step, the certificates in the client (J2EE engine) Trusted CA  
    keystore view are not yet involved.                                                                               
    You'll either need to configure the host name, as the CN of the        
    server certificate or create the server certificate with the CN (and   
    import/use it in the server), as you plan to use it in the FTP Adapter 
    receiver channel configuration.                                                                               
    Please ensure your channel configuration uses the hostname expected    
    by the server. i.e. that you are also using: *.sap.com                 
    and that this FQHN is used consistently.                                                                               
    If you still have problems, please note that the FTP protocol itself   
    has no concept of hostnames, so an FTP client is reliant on the IP     
    address of the server to obtain the hostname. If any reverse DNS       
    lookup is taking place during the processing on your network, you need 
    to ensure the DNS lookup returns the FQHN of your FTP server, which    
    is: *.sap.com                                                                               
    Try run the scenario using a public certificate and adding the IP      
    address and host name to the host file."
    Hope that helps
    Stefan

  • Error Writing Less Than Sign with FileAdapter

    Hello.
    Looking at the Flow Trace I can that the input variable of the FileAdapter is being populated correctly (XML tags). When looking at the file's contents though, the result of the less than sign is its character entity: '&lt';.
    Is there a way to force it to print the less than sign? Also, why does it write the character entity for the less than sign and not the greater than sign?
    Thanks.
    Edited by: oracleistheway on May 24, 2013 6:32 AM

    Hi Arik. Thank you for that information but it is not working. I think it is not working because the DOE feature is done during an XSL process.
    I was able to get my desired result by creating a native file and Delimited type. I then selected File contains only one record and had it delimited by Single Space and no optional delimiter.
    Thank you all for looking at this thread.
    Edited by: oracleistheway on May 26, 2013 10:33 AM

Maybe you are looking for

  • How do I create a whole new iTunes on my iMac?

    I have an external  hard drive with my whole catalog of music that will be my iTunes library.  Wanting to start fresh I removed all the the iTunes media off my iMac, moved my iTunes to the trash and then went to the Apple website and downloaded and t

  • While posting MIRO price difference account is not determimg for price vari

    Hi Sapients, Please solve the production issue which we have faced yesterday while doing month end closing In one P.O 4 items are there,User has posted entries in below sequence Material type is TRADING GOODS 1)first MIRO with QTY 10 @100$ each,Later

  • How to extract the cobol files into owb

    Hi How to extract the cobol files in owb,I am using OWB9.2. Ex:I am having 2 records DCEC4000100 9159000050C those values are 5 bytes 'RAVI and 6 bytes '15000'. Using contorl file i am trying to load these into Oracle,But i am not able into insert th

  • Proxy settings frequently being ignored

    I've got a frustrating issue with proxies that I hope someone can shed some light on. I've got a relatively normal networking set up (statically assigned IP address via local LAN), and any web access must be via a proxy. I've got my proxies set under

  • Dynamic Import File Path

    Hi All, Please help me how to do dynamic import file path since we have multiple environment where our reports will be migrated. Thanks