Testcase problem using two file adapter and a transformation

We've got an input which looks like this :
<?xml version="1.0" encoding="UTF-8"?>
<rows>
<row>
<id>10</id>
<naam>A</naam>
</row>
<row>
<id>20</id>
<naam>B</naam>
</row>
</rows>
I've created an XSD for this message which looks like this ( straightforward ) :
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.test.nl/testschema" xmlns:test="http://www.test.nl/testschema" elementFormDefault="unqualified">
     <element name="row">
          <complexType>
               <sequence>
                    <element ref="test:id"/>
                    <element ref="test:naam"/>
               </sequence>
          </complexType>
     </element>
     <element name="rows">
          <complexType>
               <sequence>
                    <element ref="test:row" maxOccurs="unbounded"/>
               </sequence>
          </complexType>
     </element>
     <element name="naam">
          <simpleType>
               <restriction base="string">
               </restriction>
          </simpleType>
     </element>
     <element name="id">
          <simpleType>
               <restriction base="byte">
               </restriction>
          </simpleType>
     </element>
</schema>
I've imported this XSD in my ESB project and created a file adapter which reads this type op files.
I've created another file adapter to write the files 1:1 to an output dir.
In the routingservice I've created a very straightforward XSL mapping which maps everything 1:1.
Now the problem
When I use this input :
<?xml version="1.0" encoding="UTF-8"?>
<rows>
<row>
<id>10</id>
<naam>Martin</naam>
</row>
<row>
<id>20</id>
<naam>Edward</naam>
</row>
</rows>
my output result is:
<?xml version="1.0" ?><imp1:rows xmlns:imp1="http://www.test.nl/testschema"/>
I know this is a namespace issue. When I add the namespace
<?xml version="1.0" encoding="UTF-8"?>
<rows xmlns="http://www.test.nl/testschema">
<row>
<id>10</id>
<naam>Martin</naam>
</row>
<row>
<id>20</id>
<naam>Edward</naam>
</row>
</rows>
I get the correct ( and 1:1 output ).
The problem is. In the scenario I'm about to build the input xml messages do not have an namespace. How can I alter my xsd file or anything within my ESB project that all files will be picked up correctly and processed without having an default namespace?
Any help is appreciated!

True,
But its the other way around what is causing my problem.
Because the input xml files contain no namespace at all the xml messages are transformed but result in an almost empty xml message. ( e.g. the root element is there and thats it ).
This is because the XML transformation mapper in ESB ( as well as BPEL ) excplicitly needs a namespace.
I solved it by editing the XSL by hand, removing the :imp1 namespace prefixes in the select="" tags. e.g.
<xsl:for-each select="/imp1:rows/imp1:row"> is updated in
<xsl:for-each select="/rows/row">
As far as I know this is the only workaround at the moment that I could find.

Similar Messages

  • Problem with a file adapter

    Hi,
    I'm making a scenario using XI 3.0. I use a file adapter (with an inbound synchronous interface) to send a xml file to XI. XI consumes a function from CRM using a RFC adapter and an outbound synchronous interface.
    The xml file arrives correctly to CRM. The problem is CRM doesn't return the BAPI result, so XI doesn't return any response. XI should return another xml file through another file adapter.
    How can I make this scenario to send a xml file using a file adapter and receive another xml file using the same adapter type after consuming the BAPI?
    Thanks in advance,
    Samantha.

    you have to use BPM, if you want response back from CRM and create some file based on it all during the same transaction.
    another way is create some kind of trigger on CRM side, whenever that BAPI executes and creates some data in CRM, that trigger should send the data to XI as separate interface through RFC or IDOC.
    --Archana

  • Security issues when using the file adapter

    I want to use the file adapter, and in the documentation it states that you can use "directories" and "ftp".
    I want to transfer a file secure and both of these options are not really secure.
    Directory reading is not really secure when you read files from a windows share (SMB protocol).
    Is it possible to make a share more secure in a windows environment?
    In an ftp session everybody can steal the password. Is there a possibility to use "sftp"? Or will this be available?

    Currently we dont have, but we will have it soon.

  • Performance problems with File Adapter and XI freeze

    Hi NetWeaver XI geeks,
    We are deploying a XI based product and encounter some huge performance problems. Here after the scenario and the issues:
    - NetWeaver XI 2004
    - SAP 4.6c
    - Outbound Channel
    - No mapping used and only the iDocs Adapter is involved in the pipeline processing
    - File Adapter
    - message file size < 2Ko
    We have zeroed down the problem to Idoc adapter’s performance.
    We are using a file channel and  every 15 seconds a file in a valid Idoc format is placed in a folder, Idoc adapter picks up the file from this folder and sends it  to the SAP R/3 instance.
    For few minutes (approx 5 mins) it works (the CPU usage is less then 20% even if processing time seems huge : <b>5sec/msg</b>) but after this time the application gets blocked and the CPU gets overloaded at 100% (2 processes disp_worker.exe at 50% each).
    If we inject several files in the source folder at the same time or if we decrease the time gap (from 15 seconds to 10 seconds) between creation of 2 Idoc files , the process blocks after posting  2-3 docs to SAP R/3.
    Could you point us some reasons that could provoke that behavior?
    Basically looking for some help in improving performance of the Idoc adapter.
    Thanks in advance for your help and regards,
    Adalbert

    Hi Bhavesh,
    Thanks for your suggestions. We will test...
    We wonder if the hardware is not the problem of this extremely poor performance.
    Our XI server is:
    •     Windows 2003 Server
    •     Processors: 2x3GHZ
    •     RAM: 4GB (the memory do not soak)
    The messages are well formed iDocs = single line INVOICES.
    Some posts are talking 2000 messages processed in some seconds... whereas we got 5 sec per message.
    Tnanks for your help.
    Adalbert

  • I am having problems using mov files imported into a project. I get the message "Not rendered" in the Canvas and clip won't play. Can anyone help?

    I am having problems using mov files imported into a project. I get the message "Not rendered" in the Canvas and clip won't play. Can anyone help?

    When clips won't play without rendering in the Timeline, it usually means that the clip's specs don't match the Sequence settings.
    A .mov file could be made from any number of codecs; the QuickTime Movie designation is merely a container for video files of all kinds.  Since FCE only works with the QuickTime DV codec and the Apple Intermediate Codec (AIC) natively, if your mov files aren't one of those two, you need to convert them PRIOR to importing into your FCE project.
    -DH

  • How to generate .pdx file using File Adapter and FTP Adapter

    Hi,
    is it possible to genearate .pdx file using oracle ESB Adapters(File Adapter and FTP adapter).
    Can you anyone guide me.
    Thanks,
    Raj.

    hi,
    regarding report, there is a dedicated report forum. you should post there.
    but answer for your question is form is nothing to do with the pdf generation. you can call the report from the as usual.
    In the report you should set the properties like
    destype to 'file'
    desname to 'path with file name'
    desformat to 'pdf'

  • Cannot process a Fixed Field Length file using the File Adapter (Sender)

    Hi -
    I have checked throughout these posts and blogs but I still have not been able to find a solution to my issue.  When using the File Adapter (Sender) I get a Conversion initialization failed with "xml.keyfieldName", no value found.  Why would I require a key field when I am using fixed field lenghts?  The file is comprised of 2 structures - 1 header and multiple details (see below).  There are no key fields in the flat file that I would be able to use.  Any suggestions?
    011000390      Customer Americas        20080605164317 000000000000000800000008000000000016000000                              
    12345678          100500       100500       Supplier 1                         0000000000030000002008040400                    
    12345678          100501       100501       Supplier 2                         0000000000052000002008042100 
    The File Adapter is configured as follows:
    Document Name = Rfchke00
    Document Namespace = 'my namespace'
    Recordset Name = Rfchke00
    Recordset Structure = Dtachkh,1,Dtachkp,*
    Recordset Sequence = Ascending
    Recordsets per Message = 1
    Key Field Type = String (Case-Sensitive)
    Dtachkh.fieldFixedLengths = 15,25,8,6,1,8,8,8,15,3,31
    Dtachkh.fieldNames = F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11
    Dtachkh.processFieldNames = fromConfiguration
    Dtachkp,fieldFixedLengths = 18,13,13,35,15,3,8,2,21
    Dtachkp,fieldNames = F1,F2,F3,F4,F5,F6,F7,F8,F9
    Dtachkp,processFieldNames = fromConfiguration
    Thanks,
    Dave

    Hi,
    you can use the module from which u can convert your structure to
    H011000390 Customer Americas 20080605164317 000000000000000800000008000000000016000000
    D12345678 100500 100500 Supplier 1 0000000000030000002008040400
    D12345678 100501 100501 Supplier 2 0000000000052000002008042100
    Please note the extra H,D in the struture added by the module.
    You can then use them as your key fieldValues.. The module should be deployed in Visual Admin and then can be used in the Module tab of your adapter CC
    While writing the content conversion after that please dont forget about the added new characters
    Please note also that i can find that the word supplier kept repeating in all the Dtachkp records
    Please use that
    Also if you feel that the field is of 13 characters and that would cause a problem dont worry... create a dummy field eg split tht 13 to two fields and use the common one as key field Value and identifier... as i see in ure case its like 500 Supplier , 502 Supplier . u can split the first 4 char and the remaing 9 char are key field value.
    try this out
    Rgds
    Aditya

  • Two File Adapter

    HI.
    Our system have two instances, and we use file adapter(sender). These file directory is same.
    If the two file adapter try to get file at same time,
    does the locking error may occurred?
    Have anyone met the this kind of problem?
    regards,

    >>If the two file adapter try to get file at same time, does the locking error may occurred?
    I guess you would not get any locking error as the file adapter does not support the file locking.
    For more information on file locking have a look at the note 821267 Question 3.
    From SAP Note
    Q: I sometimes observe that files are processed only partially,
    i.e., only a fragment from the file's start is converted into an XI
    message. Nevertheless, the file is usually archived completely.
    Does the File Sender Adapter honor if another process has locked a
    file for exclusive use?
    o A: Unfortunately, the J2EE 1.3 technology the File Adapter is built
    upon does not support file locking. This limitation affects the
    File Adapter's operation. Depending on whether the JRE
    implementation for the operating system under which the adapter
    runs uses mandatory file locking or advisory file locking, opening
    a file that is currently being written to by another process will
    fail or not.
    If opening the file fails, no problem exists and the adapter will
    try to open the file each poll interval until it succeeds.
    However, if opening the file is not prevented by the operating
    system, the adapter starts to process the file although it is still
    being modified.
    Thanks
    SaNv...

  • Using a variable in "arrayTerminatedBy" clause while using a file adapter

    Hi All,
    How can read a file of sample shown below using a file adapter.
    ABC|20081010|
    2008|xxxxxxx|
    2007|yyyy|
    2009|zzzzzzz|
    3|20081010|
    first line is the header
    last line is footer
    middle portion is the body
    '3' in the footer is the total no of record count in the body
    I am able to read the header and body.
    The problem i am facing is; when it is reading the footer it is treating the footer as a record in the body and is throwing an error stating - expected the format as "yyyy"
    I have to use "arrayTerminatedBy" to indicate the end of the body. But that terminating field is a varying field. How can i use this variable field in the "arrayTerminatedBy" clause.
    Can any one help in reading this file
    Thanks in advance
    Edited by: user10308218 on 11-Oct-2008 02:23
    Edited by: user10308218 on 11-Oct-2008 02:24

    See if this helps, I haven't tested it but it will give you a hint in how to achieve it. As you can see I use the startsWith command. I'm not sure how to handle your detail as it seems to start with different elements every time.
    cheers
    James
    <?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://TargetNamespace.com/Write_File"
    xmlns:tns="http://TargetNamespace.com/Read_File"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified" nxsd:encoding="ASCII" nxsd:stream="chars" nxsd:version="NXSD">
    <xsd:element name="FileRecord">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Header" nxsd:startsWith="ABC|" maxOccurs="1">
    <xsd:complexType>
    <xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
    <xsd:element name="FileDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="&quot;"/>
    <xsd:element name="Record" maxOccurs="unbounded">
    <xsd:complexType>
    <xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
    <xsd:element name="DetailData1" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|" nxsd:quotedBy="&quot;"/>
    <xsd:element name="DetailData2" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="&quot;"/>
    <xsd:element name="Footer" nxsd:startsWith="3|" maxOccurs="unbounded">
    <xsd:complexType>
    <xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
    <xsd:element name="FooterData" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="&quot;"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>

  • "Performance" problems with the File adapter on Plain J2SE Adapter Engine

    Hi,
    At the moment I'm on a customer side to solve some XI issues for a few days. One of the issues is the performance of the Plain J2SE Adapter Engine, using the file adapter to transfer XML messages(already XI message format) from the legacy system to the Integration Engine. The File adapter has to deal with "large" XML messages(max at the moment is 65 Mb) and the engine fails with the following error when transferring the big XML file: "ERROR: Finished sending to Integration Engine with error "java.lang.OutOfMemoryError". Skip confirmation and quit this loop".
    As far I got the information from the customer the memory use of the Plain adapter engine is set to 512Mb. This is maybe to low. But I don't know where to look for this, I only have the adapter web interface in front of me, no access to the OS it self via for example remote connection.
    On the Integration Engine I know there is the ability to split large message with the file adapter(File Content Conversion), but I don't know this for the Plain Adapter Engine. Is there a possibility to do this also on the Plain Adapter Engine?
    Thanks in advance for any input.
    Greetings,
    Patrick

    Hi Sameer,
    Thanks for your answers.
    On the first solution, yes that is possible, we first decided to see if the legacy system can do the splitting, before starting developing a Java program.
    On the second solution, as far as I know is this solution possible on the Integration Engine. But we are facing the problems on the Plain J2SE Adapter Engine. I went trough that documentation(link:
    http://help.sap.com/saphelp_nw04/helpdata/en/6f/246b3de666930fe10000000a114084/frameset.htm ), to look for I similiar solution in the Plain Adapter Engine. So my question is, is this possible with the Plain Adapter? And if so, what kind of parameters I need to use to achieve this.
    Regards,
    Patrick

  • How to read multiple files of different name using single file adapter

    There are two inbound locations inbound1 and inbound2 , and the files structure present in these two inbound locations are same but the files start with different names example
    (1)files in inbound1 starts with file1,file2...
    (2)files in inbound2 starts with abc1,abc2...
    by using same file adapter with read option how can i read both files....

    Hi K.A.N.N.,
    You can define multiple directories using the above link in 11g and poll for the file as \*.*.
    Alternatively you can use the Synchronous Read and specify the file name at runtime.
    You can also use Pick activity to define multiple branches each with a File Adapter to read from a specified location with specified file name. Although it would contain multiple Adapter Definitions at Development-time, only one of the Adapters will execute at Run-Time.
    Regards,
    Neeraj Sehgal

  • Sender File Adapter and NFS

    I am having a sender file adapter and is using NFS as the Transport Protocol. This channel is throwing an error that  " directory does not exist". What can be the possible solutions for this problem?
    When I had previously checked this , it was working fine but now its throwing this errorr.

    Hi Neelansha,
               If you select the transport protocol for NFS, Mention the Directory name for where we can get data.
    and check the communication channel monitor for file sender, it will shows the clear error.
    Regards,
    Sateesh

  • Can I use the File Adapter to transfer files from/to my own PC

    Hello,
    Would it be possible to set tu the file adapter to send or receive files from my own PC's file system?
    For example I would like to transfer a file from my PC to PI instead of using PI's file system?
    Can I do that?
    Thanks
    Marcelo

    If your PC has Windows-based system, SAP XI is Unix-based, you have a problem: Unix can't connect to UNC-path - Unix doesn't understand path like this "
    mywindowspc\myfilesharefolder\", and Windows can't mount unix-drives. There are has a tool that can mount Windows UNC-file-share on NTFS like dirive UnixFS - but this tool is not freeware and has a problem when you switch off your PC without unmounting your Windows-dirives on Unix system. You can use a SAMBA, but Admins doesn't like to install this to Unix...
    So, if you want to use a File Adapter you can set only FTP path, create FTP-site on your own PC, and so on...
    Another way to send information from/to your own PC is "Plain J2SE Adapter Engine". This is a standalone part of SAP XI, you install it on your PC, configures URL of XI pipline, sets local folders to transfer from/to your PC, masks and types of your files, time to sending, any rules and DOS-commands for "before/after sending and receiving" and so on...
    In case of sending files from PC to XI, files transforms to XI-payload inside this Adapter Engine and then goes like XI-message to pipeline... When you send it back, payloads come to this Adapter Engine and transform to files on your PC.
    I used this Plain J2SE AE on my working notebook for checking sending messages to many different XI Systems.
    For more info: http://help.sap.com/saphelp_nw04/helpdata/en/6f/246b3de666930fe10000000a114084/content.htm
    Regards.

  • ESB or BPEL file adapter and special characters

    Hi,
    We have a scenario where we import rows from .csv file through an ESB project into a database. We use the file adapter for this. There appears to be a problem with special characters (like é). Both in the ESB control (with variable tracking) and in the database, they appear as upside down questionmarks (¿). I've tried doing the same with a BPEL project (file adapter as client PL) and in the BPEL console, I also see strange characters instead of the expected special characters (diamond shaped characters, like ♦ to be precise).
    I can't find anything about character sets of character set conversions in the documentation. What am I missing?
    Regards,
    Arjan

    see
    http://download-west.oracle.com/docs/cd/B31017_01/inte
    grate.1013/b28994/nfb.htm#CIAEFBHHI've looked into the properties mentioned. They are set when you go through the wizard. Everything is set to UTF-8, which should provide me with all special characters I need.
    BPEL does the exact same thing, so I'm starting to believe that the problem really is with the file adapter.
    Regards,
    Arjan

  • Process multi-record & multi-record-format files using ESB & File Adapter

    I am looking to process/parse an in-bound file with the following make-up and to load into a database table using the File Adapter, ESB and DB Adapter.
    File Make-Up:
    - each line in the file is a record
    - each record is made up of 12 fields
    - there are multiple record types denoted by the first field in the line
    - record types may or may not have common fields
    - where there are common fields, the field may be in different columns
    - each record is to be inserted into a database table
    Sample File:
    3,,"03-0243-0188132-00",.20,26,075,"","000000006026","","","22/04/08",03 1303
    3,,"03-0243-0188132-00",20.00,26,075,"","","","","22/04/08",03 0579
    5,,"03-0243-0188132-00",99.60,,,"OPENING BALA",,,"ACME GROUP","22/04/08",
    6,,"03-0243-0188132-00",99.60,,,"CLOSING BALA",,,"ACME GROUP","22/04/08",
    8,,"03-0243-0188132-00",-346119.05,16,000,"DEBITS",,,,"22/04/08",
    8,,"03-0243-0188132-00",346119.05,349,050,"CREDITS",,,,"22/04/08",
    9,,"03-0243-0188132-00",-346119.05,16,000,"DEBITS",,,,"22/04/08",
    9,,"03-0243-0188132-00",346119.05,349,050,"CREDITS",,,,"22/04/08",
    Record Types and corresponding format:
    3, Corp ID, A/C Number, Trans Amt, Serial Number, Trans Code, Particulars, Analysis Code, Reference, Other Party Name, Transaction Date, Originating Bank
    5, Corp ID, A/C Number, Opening Balance, Serial Number, Trans Code, Particulars, Analysis Code, Reference, Other Party Name, Transaction Date, Originating Bank
    6, Corp ID, A/C Number, Closing Balance, Serial Number, Trans Code, Particulars, Analysis Code, Reference, Other Party Name, Transaction Date, Originating Bank
    8, Corp ID, A/C Number, Amount, Number, 000, “DEBITS”, Analysis Code, Reference, Other Party Name, Transaction Date, Originating Bank
    8, Corp ID, A/C Number, Amount, Number, 050, “CREDITS”, Analysis Code, Reference, Other Party Name, Transaction Date, Originating Bank
    9, Corp ID, A/C Number, Amount, Number, 000, “DEBITS”, Analysis Code, Reference, Other Party Name, Transaction Date, Originating Bank
    9, Corp ID, A/C Number, Amount, Number, 050, “CREDITS”, Analysis Code, Reference, Other Party Name, Transaction Date, Originating Bank
    Please note that record types 8 and 9 have 2 fixed fields.
    I have tried playing around with the File Adapter and the ESB but not having much luck. Can someone provide any suggestions on how I can handle this?

    James,
    Thanks for your prompt response. I have come across your post previously.
    Please excuse my in-experience (very new to SOA and Oracle SOA Suite) but i have not understood how your post regarding the manual creation of an XSD will assist with my problem. Could you possibly further elaborate on the overall approach i should be taking?
    Regards,
    Simon

Maybe you are looking for

  • Photoshop Elements 8 - error 150:30

    Hello I've recently tried opening my copy of Elements 8 (had it working fine for at least 2 years) and am unable to as I receive a 150:30 error.  I've restarted but still see the error - any help gratefully received! thanks!

  • Logon Block Like SDN Logon Block

    Hi, We've added an Anonymous Page to our portal and we need to add a logon block same as SDN Logon Block on Left. We need this, as we do not want to use Login Link on MasterHead. We've created a new layout which consists of 4 columns. We need this lo

  • JTable listener

    When data changes in a JTable the event source is the TableModel. So if I use public void tableChanged(TableModelEvent e) TableModel source=(TableModel)e.getSource(); I have a pointer to the TableModel which is associated with the table, but not a po

  • Any known issues with Premiere CC and imported HDV clips?

    I'm having consistent difficulty with Premiere CC playback of HDV video that originated in FCP 7. This was not an issue in Premiere CS6. The problem is dropout and pixelization which is consistent, pass after pass, and occurs at the same TC location

  • Itunes and Iphone Sync Launches Camera Software (windows XP)

    Hi, I noticed a month or so ago, after an ITUNES update that when I sync my phone the computer launches a window asking which program I want to use to look at the camera! There is no listing for "Do Nothing" as typically seen in such pop ups. I was h