Non-XML Files

Can anyone tell me if it is possible for XI to both send and receive files that are not in an XML format.  It seems that in all the documentation everything is expected to be in XML, but most of the applications that we need to integrate with do not communicate via XML.

I think what the poster above is referring to is the Adapter Framework, which allows SAP to communicate via many other protocols and message formats.  There are many off-the-shelf adapters available and there is the alternative of building your own adapter.  It depends on the specifics of the scenario.  Please see the service marketplace for details on the Adapter Framework's capabilities.
Cheers,
Steve
If you find a post useful, please help keep the community going by setting a good example and rewarding the poster with points.

Similar Messages

  • Can I route non-XML files with NW PI 7.0?

    Hello,
    I have NW 7.0 PI installed. I need to implement very simple scenario:
    1. There are two folders Source and Target
    2. Any file (non-XML, binary for example) comes to the Source folder
    3. File needs to be picked up and routed without any modifications to the Target folder
    Questions:
    1. Can I implement that with NW? I guess I can
    2. How do I do that? Is there any example or some description of implementing such a simple scenario (I have a few samples on how to implement complex scenarios that work with XML files, but I don't need that complexity)
    Thanks in advance.

    Hi,
    Check out the Sravya's blogs for starters, It has lot of links which will help you to learn various pieces of XI.
    Aspirant to learn SAP XI...You won the Jackpot if you read this!-Part I
    Aspirant to learn SAP XI...You won the Jackpot if you read this!-Part II
    Aspirant to learn SAP XI...You won the Jackpot if you read this!-Part III
    Thanks,
    Pooja

  • WebDAV Write Unreliability - Large non-XML Files

    I am unable to get Oracle's WebDAV implementation on Windows XP to reliably store large (1 Megabyte +) files that are not XML, without unexplained errors occurring, which result in only part files being transferred.
    For testing I started using the repository folders created by the XDB Basic Demo, using Windows Explorer WebDAV as the client to insert files of varying sizes. Files in excess of 1 megabyte files fail more often than succeed, but I have occasionally succeeded in storing files of many megabytes. Because they were handy I mainly used ZIP files to insert into the Oracle XML DB repository. When the files were renamed to extension, .xml, they always succeeded.
    To eliminate client error, I have also used DavExplorer with the same symptoms observed. No problems were experienced retrieving large files from the Oracle XML DB Repository. My tests were performed using Oracle 9.2.0.5 and 10.1.0.2. The same problem did not occur when using Oracle's FTP interface, and when using the "native" Apache 1.3 and Apache WebDAV implementations.
    This failure is a major problem for our application, which would otherwise fit very well with Oracle XML DB features. Our application provides an authoring environment for a large collection of small XML files, but also has to allow storage of some related GIF, PDF and Microsoft Offices files. Our customers are large corporates, who would prefer to use Oracle for this requirement and for related data processing requirements.
    In case, it is relevant, we are not restricted to running Oracle on XP, with Unix platforms being a more likely option for our customers.
    I could not find details of the error logged by the Oracle software, using either database version. The only information I have gathered about the failure was provided by adding the following line to sqlnet.ora:
    TRACE_LEVEL_SERVER=4
    The trace output for a failure is as follows:
    [19-MAY-2004 13:46:59:735] nsopen: opening transport...
    [19-MAY-2004 13:46:59:735] nsopen: transport is open
    [19-MAY-2004 13:46:59:735] nsopen: global context check-in (to slot 1) complete
    [19-MAY-2004 13:46:59:735] nsanswer: deferring connect attempt; at stage 1064
    [19-MAY-2004 13:46:59:735] nsc2addr: (ADDRESS=(PROTOCOL=tcp)(DEV=340)(HOST=132.223.134.163)(PORT=8080))
    [19-MAY-2004 13:46:59:735] nttgetport: port resolved to 8080
    [19-MAY-2004 13:46:59:735] nttbnd2addr: using host IP address: 132.223.134.163
    [19-MAY-2004 13:46:59:735] nstimarmed: no timer allocated
    [19-MAY-2004 13:46:59:735] nsclose: global context check-out (from slot 1) complete
    [19-MAY-2004 13:46:59:735] nttcnp: Validnode Table IN use; err 0x0
    [19-MAY-2004 13:46:59:735] nsopen: opening transport...
    [19-MAY-2004 13:46:59:735] nttcnp: Validnode Table IN use; err 0x0
    [19-MAY-2004 13:46:59:735] nttcnp: Validnode Table IN use; err 0x0
    [19-MAY-2004 13:46:59:735] nttcnp: getting sockname
    [19-MAY-2004 13:46:59:735] nttcnp: getting peername
    [19-MAY-2004 13:46:59:735] nttcon: set TCP_NODELAY on 296
    [19-MAY-2004 13:46:59:745] nsopen: transport is open
    [19-MAY-2004 13:46:59:745] nsopen: global context check-in (to slot 1) complete
    [19-MAY-2004 13:46:59:745] nstoControlATO: ATO disabled for ctx=0x055D6FC4
    [19-MAY-2004 13:46:59:745] nsevdansw: exit
    [19-MAY-2004 13:46:59:745] ntt2err: soc 296 error - operation=5, ntresnt[0]=524, ntresnt[1]=997, ntresnt[2]=0
    [19-MAY-2004 13:46:59:745] ntt2err: soc 296 error - operation=5, ntresnt[0]=524, ntresnt[1]=997, ntresnt[2]=0
    [19-MAY-2004 13:46:59:745] ntt2err: soc 296 error - operation=5, ntresnt[0]=524, ntresnt[1]=997, ntresnt[2]=0
    [19-MAY-2004 13:46:59:745] nstoControlATO: ATO disabled for ctx=0x055D3548
    [19-MAY-2004 13:46:59:745] ntt2err: soc 296 error - operation=5, ntresnt[0]=524, ntresnt[1]=997, ntresnt[2]=0
    [19-MAY-2004 13:46:59:745] nstoControlATO: ATO disabled for ctx=0x055D3548
    [19-MAY-2004 13:46:59:745] snttcallback: op = 5, bytes = 232, err = 0
    [19-MAY-2004 13:46:59:745] ntt2err: soc 296 error - operation=5, ntresnt[0]=524, ntresnt[1]=997, ntresnt[2]=0
    [19-MAY-2004 13:46:59:745] nstoControlATO: ATO disabled for ctx=0x055D3548
    [19-MAY-2004 13:46:59:755] snttcallback: op = 5, bytes = 296, err = 0
    [19-MAY-2004 13:46:59:755] ntt2err: soc 296 error - operation=5, ntresnt[0]=524, ntresnt[1]=997, ntresnt[2]=0
    [19-MAY-2004 13:46:59:755] nstoControlATO: ATO disabled for ctx=0x055D3548
    [19-MAY-2004 13:46:59:755] snttcallback: op = 5, bytes = 0, err = 0
    [19-MAY-2004 13:46:59:755] ntt2err: Read unexpected EOF ERROR on 296
    [19-MAY-2004 13:46:59:755] snttcallback: op = 5, bytes = 0, err = 0
    [19-MAY-2004 13:46:59:755] ntt2err: Read unexpected EOF ERROR on 296
    [19-MAY-2004 13:46:59:755] snttcallback: op = 5, bytes = 0, err = 0
    [19-MAY-2004 13:46:59:755] ntt2err: Read unexpected EOF ERROR on 296
    [19-MAY-2004 13:46:59:755] snttcallback: op = 5, bytes = 0, err = 0
    [19-MAY-2004 13:46:59:755] ntt2err: Read unexpected EOF ERROR on 296
    [19-MAY-2004 13:46:59:755] nsdo: transport read error
    [19-MAY-2004 13:46:59:755] nserror: nsres: id=1, op=68, ns=12537, ns2=12560; nt[0]=507, nt[1]=0, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0
    [19-MAY-2004 13:46:59:755] nstimarmed: no timer allocated
    [19-MAY-2004 13:46:59:765] nsclose: closing transport
    [19-MAY-2004 13:46:59:765] nsclose: global context check-out (from slot 1) complete
    [19-MAY-2004 13:46:59:765] nsopen: opening transport...
    [19-MAY-2004 13:46:59:765] nsopen: transport is open
    [19-MAY-2004 13:46:59:765] nsopen: global context check-in (to slot 1) complete
    [19-MAY-2004 13:46:59:765] nsanswer: deferring connect attempt; at stage 1064
    [19-MAY-2004 13:46:59:765] nsc2addr: (ADDRESS=(PROTOCOL=tcp)(DEV=340)(HOST=132.223.134.163)(PORT=8080))
    [19-MAY-2004 13:46:59:765] nttgetport: port resolved to 8080
    [19-MAY-2004 13:46:59:765] nttbnd2addr: using host IP address: 132.223.134.163
    [19-MAY-2004 13:46:59:765] nstimarmed: no timer allocated
    [19-MAY-2004 13:46:59:765] nsclose: global context check-out (from slot 1) complete
    [19-MAY-2004 13:46:59:765] nttcnp: Validnode Table IN use; err 0x0
    [19-MAY-2004 13:46:59:765] nsopen: opening transport...
    [19-MAY-2004 13:46:59:765] nttcnp: Validnode Table IN use; err 0x0
    [19-MAY-2004 13:46:59:765] nttcnp: Validnode Table IN use; err 0x0
    [19-MAY-2004 13:46:59:765] nttcnp: getting sockname
    [19-MAY-2004 13:46:59:765] nttcnp: getting peername
    [19-MAY-2004 13:46:59:765] nttcon: set TCP_NODELAY on 296
    [19-MAY-2004 13:46:59:765] nsopen: transport is open
    [19-MAY-2004 13:46:59:765] nsopen: global context check-in (to slot 1) complete
    [19-MAY-2004 13:46:59:765] nstoControlATO: ATO disabled for ctx=0x055D6FC4
    [19-MAY-2004 13:46:59:765] nsevdansw: exit
    [19-MAY-2004 13:46:59:765] ntt2err: soc 296 error - operation=5, ntresnt[0]=524, ntresnt[1]=997, ntresnt[2]=0
    [19-MAY-2004 13:46:59:765] ntt2err: soc 296 error - operation=5, ntresnt[0]=524, ntresnt[1]=997, ntresnt[2]=0
    [19-MAY-2004 13:46:59:765] ntt2err: soc 296 error - operation=5, ntresnt[0]=524, ntresnt[1]=997, ntresnt[2]=0
    [19-MAY-2004 13:46:59:765] ntt2err: soc 296 error - operation=5, ntresnt[0]=524, ntresnt[1]=997, ntresnt[2]=0
    [19-MAY-2004 13:46:59:765] nstoControlATO: ATO disabled for ctx=0x055D3548
    [19-MAY-2004 13:46:59:765] snttcallback: op = 5, bytes = 302, err = 0
    [19-MAY-2004 13:46:59:765] ntt2err: soc 296 error - operation=5, ntresnt[0]=524, ntresnt[1]=997, ntresnt[2]=0
    [19-MAY-2004 13:46:59:775] snttcallback: op = 5, bytes = 8192, err = 0
    [19-MAY-2004 13:46:59:775] snttcallback: op = 5, bytes = 8192, err = 0
    [19-MAY-2004 13:46:59:775] snttcallback: op = 5, bytes = 8192, err = 0
    [19-MAY-2004 13:46:59:775] snttcallback: op = 5, bytes = 8192, err = 0
    [19-MAY-2004 13:47:00:246] nstoControlATO: ATO disabled for ctx=0x055D3548
    [19-MAY-2004 13:47:00:246] nstimarmed: no timer allocated
    [19-MAY-2004 13:47:00:246] nsclose: closing transport
    [19-MAY-2004 13:47:00:366] nsclose: global context check-out (from slot 1) complete
    The trace for a successful transfer is as follows:
    [19-MAY-2004 13:57:28:249] nsopen: opening transport...
    [19-MAY-2004 13:57:28:249] nsopen: transport is open
    [19-MAY-2004 13:57:28:249] nsopen: global context check-in (to slot 1) complete
    [19-MAY-2004 13:57:28:249] nsanswer: deferring connect attempt; at stage 1064
    [19-MAY-2004 13:57:28:249] nsc2addr: (ADDRESS=(PROTOCOL=tcp)(DEV=352)(HOST=132.223.134.163)(PORT=8080))
    [19-MAY-2004 13:57:28:249] nttgetport: port resolved to 8080
    [19-MAY-2004 13:57:28:249] nttbnd2addr: using host IP address: 132.223.134.163
    [19-MAY-2004 13:57:28:249] nstimarmed: no timer allocated
    [19-MAY-2004 13:57:28:249] nsclose: global context check-out (from slot 1) complete
    [19-MAY-2004 13:57:28:249] nttcnp: Validnode Table IN use; err 0x0
    [19-MAY-2004 13:57:28:249] nsopen: opening transport...
    [19-MAY-2004 13:57:28:249] nttcnp: Validnode Table IN use; err 0x0
    [19-MAY-2004 13:57:28:249] nttcnp: Validnode Table IN use; err 0x0
    [19-MAY-2004 13:57:28:249] nttcnp: getting sockname
    [19-MAY-2004 13:57:28:249] nttcnp: getting peername
    [19-MAY-2004 13:57:28:249] nttcon: set TCP_NODELAY on 1420
    [19-MAY-2004 13:57:28:249] nsopen: transport is open
    [19-MAY-2004 13:57:28:249] nsopen: global context check-in (to slot 1) complete
    [19-MAY-2004 13:57:28:249] nstoControlATO: ATO disabled for ctx=0x055D6FC4
    [19-MAY-2004 13:57:28:249] nsevdansw: exit
    [19-MAY-2004 13:57:28:249] nstoControlATO: ATO disabled for ctx=0x055D3548
    [19-MAY-2004 13:57:28:249] ntt2err: soc 1420 error - operation=5, ntresnt[0]=524, ntresnt[1]=997, ntresnt[2]=0
    [19-MAY-2004 13:57:28:249] ntt2err: soc 1420 error - operation=5, ntresnt[0]=524, ntresnt[1]=997, ntresnt[2]=0
    [19-MAY-2004 13:57:28:269] ntt2err: soc 1420 error - operation=5, ntresnt[0]=524, ntresnt[1]=997, ntresnt[2]=0
    [19-MAY-2004 13:57:28:269] ntt2err: soc 1420 error - operation=5, ntresnt[0]=524, ntresnt[1]=997, ntresnt[2]=0
    [19-MAY-2004 13:57:28:369] nstoControlATO: ATO disabled for ctx=0x055D3548
    [19-MAY-2004 13:57:31:374] nstimarmed: no timer allocated
    [19-MAY-2004 13:57:31:384] snttcallback: op = 5, bytes = 0, err = 995
    [19-MAY-2004 13:57:31:384] ntt2err: soc 1420 error - operation=5, ntresnt[0]=530, ntresnt[1]=995, ntresnt[2]=0
    [19-MAY-2004 13:57:31:384] snttcallback: op = 5, bytes = 0, err = 995
    [19-MAY-2004 13:57:31:384] ntt2err: soc 1420 error - operation=5, ntresnt[0]=530, ntresnt[1]=995, ntresnt[2]=0
    [19-MAY-2004 13:57:31:384] snttcallback: op = 5, bytes = 0, err = 995
    [19-MAY-2004 13:57:31:384] ntt2err: soc 1420 error - operation=5, ntresnt[0]=530, ntresnt[1]=995, ntresnt[2]=0
    [19-MAY-2004 13:57:31:384] snttcallback: op = 5, bytes = 0, err = 995
    [19-MAY-2004 13:57:31:384] ntt2err: soc 1420 error - operation=5, ntresnt[0]=530, ntresnt[1]=995, ntresnt[2]=0
    [19-MAY-2004 13:57:31:384] nsclose: closing transport
    [19-MAY-2004 13:57:31:484] nsclose: global context check-out (from slot 1) complete

    Thanks Mark.
    Unfortunately I'm not currently in a position to test on Unix, but understand that I need to do so. It may be a couple of weeks before I can test on Linux, as "IT Support" will need to install an OS version officially supported by Oracle. If we win the work we'll have the required hardware, but we have to demonstrate it working first.
    Note, in my test circumstance transfers work fine using FTP, and only fail using WebDAV when the file extension is not .xml.

  • ESB/File Adapter - XML files containing multiple messages

    Hi,
    In all the examples on file adapters I read, if files contain multiple messages, it always concerns non-XML files, such as CSV files.
    In our case, we have an XML file containing multiple messages, which we want to process separately (not in a batch). We selected "Files contain Multiple Messages" and set "Publish Messages in Batches of" to 1.
    However, the OC4J log files show the following error:
    ORABPEL-12505
    Payload Record Element is not DOM source.
    The Resource Adapter sent a Message to the Adapter Framework which could not be converted to a org.w3c.dom.Element.
    Anyone knows whether it's possible to do this for XML files?
    Regards, Ronald

    Maybe I need to give a little bit more background info.
    Ideally, one would only read/pick-up small XML documents in which every XML document forms a single message. In that way they can be processed individually.
    However, in our case an external party supplies multiple messages in a single batch-file, which is in XML format. I want to "work" on individual messages as soon as possible and not put a huge batch file through our ESB and BPEL processes. Unfortunately we can not influence the way the XML file is supplied, since we are not the only subscriber to it.
    So yes, we can use XPath to extract all individual messages from the XML batch-file and start a ESB process instance for each individual message. But that would require the creation of another ESB or BPEL process which only task is to "chop up" the batch file and start the original ESB process for each message.
    I was hoping that the batch option in the File adapter could also do this for XML content and not only for e.g. CSV content. That way it will not require an additional process and manual coding.
    Can anyone confirm this is not supported in ESB?
    Regards,
    Ronald
    Message was edited by:
    Ronald van Luttikhuizen

  • Anyone know how to output an XML file from ABAP to a non sapgui location?

    I have a program that creates XML and then outputs a file via CALL METHOD cl_gui_frontend_services=>gui_download. But now I want to execute the program in background mode and therefore I need to be able to output that XML to a NON sapgui file location. Current code creates the XML to an internal table which is binary then the gui_download method converts that to output XML. .  Does anyone know how I can change the code to either a) output the XML to an internal table which can be output via, say, a TRANSFER command..or, b) output the created binary table of XML to a NON sapgui file location?
    Excerpts from current code are as follows:
    first the XML is created (to the binary file)
          Creating a ixml factory
      l_ixml = cl_ixml=>create( ).
          Creating the dom object model
      l_document = l_ixml->create_document( ).
          Fill root node with value XML
      l_element_xml  = l_document->create_simple_element(
                  name = 'XML'
                  parent = l_document ).
          Create tag 'HEADER' as child of 'XML'
      l_element_header  = l_document->create_simple_element(
                  name = 'HEADER'
                  parent = l_element_xml  ).
    header information about the file and general data about the fleet follows
      l_value = c_fleet_import.
      l_element_dummy  = l_document->create_simple_element(
                name = 'TYPE'
                value = l_value
                parent = l_element_header ).
    etc.......
    then the xml is connected to the stream factory and rendered
      Creating a stream factory
      l_streamfactory = l_ixml->create_stream_factory( ).
      Connect internal XML table to stream factory
      l_ostream = l_streamfactory->create_ostream_itable( table = l_xml_table ).
      Rendering the document
      l_renderer = l_ixml->create_renderer( ostream  = l_ostream
                                            document = l_document ).
      l_rc = l_renderer->render( ).
      Saving the XML document
      l_xml_size = l_ostream->get_num_written_raw( ).
    and then output to the file
      IF sy-subrc = 0.
        CALL METHOD cl_gui_frontend_services=>gui_download
           EXPORTING
             bin_filesize = l_xml_size
            filename     = 'g:\sapdms\BSCC-DEV\EFPAC XML Files\ALL.xml'
           filename     = '/TRICK/727/OUT/ZEFP/EFPAC.XML' "doesnt work with sap gui
             filetype     = 'BIN'
           CHANGING
             data_tab     = l_xml_table
           EXCEPTIONS
             OTHERS       = 24.
    as implied by the comments the method above will successfully output the XML file to the g:drive but will not output to /TRICK/ location, which is where I need it to go in a background mode run.
    This is a problem which has defeated all our local expertise and I would appreciate any help given... Barry Jones

    Try this code below:
    data  l_xml_table2  type table of xml_line with header line.
    W_filename - This is a Path.
      if w_filename(02) = '
        open dataset w_filename for output in binary mode.
        if sy-subrc = 0.
          l_xml_table2[] = l_xml_table[].
          loop at l_xml_table2.
            transfer l_xml_table2 to w_filename.
          endloop.
        endif.
        close dataset w_filename.
      else.
        call method cl_gui_frontend_services=>gui_download
          exporting
            bin_filesize = l_xml_size
            filename     = w_filename
            filetype     = 'BIN'
          changing
            data_tab     = l_xml_table
          exceptions
            others       = 24.
        if sy-subrc <> 0.
          message id sy-msgid type sy-msgty number sy-msgno
                     with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        endif.

  • Non-default system-application.xml file?

    There's mention in the OC4J documentation regarding specifying a non-default system-application.xml file; however, I cannot find the string defining it in any of the OC4J files, nor in the documentation though I might have missed it in that.
    I am attempting to have multiple instances run out of the same ORACLE_HOME, and I'd like to point the logs to separate places per instance. Every other one is pretty clear (defined in the customized server.xml), this one with its logging parameter I cannot find a method for keeping a separate log file per instance other than simply creating multiple oracle or at least j2ee homes. Short cut for keeping things consistent for many settings and deployments, though may not be feasible for a running environment.
    Any information or points in the right direction would be appreciated. Thanks,
    Geoff

    You can modify the <log> tag in system-application.xml to rotate the system log file.
    System application is a key internal component that is critical to OC4J startup, the system-application.xml file should not be modified except for the <jazn> and <log> tags.
    You can modify the <jazn> tag as needed to specify changes to the security provider, the location of the OC4J security configuration file (system-jazn-data.xml), or both. For more information about <jazn> and the system-jazn-data.xml file, see the Oracle Containers for J2EE Security Guide.
    There's no reference of system-application.xml in other config files.
    -Frances

  • How to write non-XML data to a file using an OSB FTP Routing?

    Hi --
    Situation ... I need to write non-XML data to a file using FTP. A proxy service retrieves XML and transforms it with XSLT to CSV format, then gives it to a Biz service to file it out, using FTP. Simple.
    Problem ... OSB sends the contents of $body to any service it calls. Because $body is a SOAP document, it has to contain XML. So therefore I have to put my CSV data into an XML element, in order to put it into $body; and this inner element then gets written to the file, which I don’t want. But if I don't enclose my CSV content in a tag, I get "Unexpected CDATA encountered" trying to assign it to a variable.
    There has to be away around this!
    Thanks for your help.
    John Taylor

    Solved. Steps:
    -- Transform the XML to CSV using an XSL transform. Put the CSV data inside enclosing XML elements, and use a Replace action to put the XML element + CSV contents back into *$body*.
    -- Define an MFL transform that only knows about the enclosing XML elements. Use a delimiter of "\n" (hard return).
    -- Route from the proxy service to a Biz service that has Service Type = Messaging Service and Request Message Type = MFL; specify the MFL transform, which will receive the incoming *$body* variable, strip off the enclosing XML element within it, and pass the CSV contents to the FTP service.
    Edited by: DunedainRanger on Nov 29, 2011 9:03 AM

  • Javascript request on non well-formed xml file in Safari

    Hi,
    I make an AJAX request to get a non well-formed xml file. On Internet Explorer (domNode is empty) and Firefox (domNode is not empty but a tag "parsererror" is present), I can know if the document is non well-formed but on Safari the request seems to be ok, I get a part of the non well-formed file (until the error).
    I would like to say if I can make the difference between a well-formed xml file and a non well-formed xml file (with an AJAX request) on Safari.
    Thanks
    Julien

    I have built a desktop application that can use these
    calls to check if the xml contained in the document
    called "file" is well formed.
    Ok. So, the application works fine then?
    DocumentBuilderFactory domFactory =
    DocumentBuilderFactory.newInstance();
    DocumentBuilder domBuilder =
    lder domBuilder = domFactory.newDocumentBuilder();
         domBuilder.parse(file);
    They are part of the javax.xml.parsers.*; package.
    Problem is that to serve this I need to put it in an
    applet but since I have to write the xml string to a
    file local to the server the applet is not working.
    Huh? You lost me there. Are you getting security exceptions from the applet? If yes, you need to sign the applet. Otherwise, what is not 'working' in the applet compared to the application? Also, why do you need to first write it to a file?
    My question is if anyone knows of some classes in the
    API that will allow me to check if a String of XML is
    well formed or not.
    If the document is not well-formed, the parse() call will throw an exception. Catch this and process as needed.
    I basically need to get a string from a field in a
    data base in XML format and be able to test it
    without first writing it to a document so I can get
    the applet to work.
    If you want to access an external database from an applet, you will need to sign the applet. You should not need to first write it to a file before parsing. Rather, simply use a stream (either InputStream or Reader) and wrap it in a StreamSource object.
    If anyone knows something on this or has an
    alternative suggestion please do tell.
    Thanks.- Saish

  • Xml file, non database field etc..

    Hi,
    There is a requirement for putting a non database field in an
    infobus grid control and populating it with some value at the
    runtime. As this is not directly available in gridcontrol, many
    have tried using a join query as I could see from the
    postings.(Like select deptcode,desc from emp, dept where
    emp.deptcode = dept.deptcode). This works well when the data is
    queried from the database. But when a new deptcode is entered, it
    is not possible to get the corrosponding value from the database
    and show it on this field, as u get readonly attribute error.
    Even if u explicitly change the attribute to updateable the error
    will remain as such.
    The cause of this problem, I have tracked down to the xml file.
    The entity for the updateable table (in this case EMP) does not
    have the attribute for deptdesc. If this is manually added, it is
    possible to add values to the deptdesc column. The catch is when
    inserting a row to the database. All the attributes in the
    entity
    will appear in the insert statement and u end up with an invalid
    column name error for the deptdesc column.
    Seeing this consistant behaviour, I assume that the insert
    statement is created by parsing the xml file. Had there been an
    attribute value in the xml file for insert into database (just
    like IsNotNull etc.. perhaps IsUpdateable which can be set
    manually), while parsing this attribute can be removed.
    To do this I would like to know where this xml parser is
    implemented in jdev. Is it possible for me to change its
    behaviour or can I expect to get a patch for this? This
    functionaliy is very much essential for me, as I am in the middle
    of a very large project using jdev2.0. I don't mind implementing
    it, if the source is available.
    Any helpful suggestions, comments are welcome. Sorry for the long
    post and thanks
    --Gopal
    null

    I don't think it will work with a non-db-item. But you could create a separate block based on your image_tb-table, use read_image_file on the then db-based-column and then simpy issue a commit_form.

  • How to load XML file to table (non-XML) with SQL*Loader -- issue with nulls

    I have been attempting to use SQL*Loader to load an XML file into a "regular" Oracle table. All fields work fine, unless a null is encountered. The way that nulls are represented is shown below:
    <PAYLOAD>
    <FIELD1>ABCDEF</FIELD1>
    <FIELD2/>
    <FIELD3>123456</FIELD3>
    </PAYLOAD>
    In the above example, FIELD2 is a null field and that is the way it is presented. I have searched everywhere and have not found how I could code for this. The issue is that if FIELD2 is present, it is coded like: <FIELD2>SOMEDATA</FIELD2>, but the null is represented as <FIELD2/>. Here is a sample of the control file I am using to attempt the load -- very simplistic, but works fine when fields are present:
    load data
    infile 'testdata.xml' "str '<PAYLOAD>'"
    TRUNCATE
    into table DATA_FROM_XML
    FIELD1 ENCLOSED BY '<FIELD1>' AND '</FIELD1>',
    FIELD2 ENCLOSED BY '<FIELD2>' AND '</FIELD2>',
    FIELD3 ENCLOSED BY '<FIELD3>' AND '</FIELD3>')
    What do I need to do to account for the way that nulls are presented? I have tried everything I could glean from the web and the documentation and nothing has worked. Any help would be really appreciated.

    I hadn't even got that far. can you direct me to where the docs are to import data that is stored within xml but that you don't need any xml functionality, that just happens to be the format the data is stored in? thx

  • XML Validation: ignore non-XML-Header in XML-file(payload): any solutions?

    Dear Experts,
    after I finally managed to configure the XML Validation, we're facing the next problem:
    The payload of the XML files looks like that:
    Abcdef#ABCDEF
    AbcDef#123
    <?xml version="1.0" encoding="UTF-8"?><Document xmlns.....
    as you can see, there's a header which is necessary. The XML Validation works fine if the header is removed manually for testing. If the header is not removed, the validation is not possible ("Content is not allowed in prolog.")
    Is it possible to realise the validation WITH that header? Can I tell SAP PI to ignore the header? Or make any changes to the XSD file?
    Thanks alot!

    Hi Armin,
    Armin Kern wrote:
    > After leaving SAP PI, those 2 lines have to be in that exact place (before the XML part) for further processing. Just deleting it wouldn't be enought. Does the complex design you mentioned complay with this requirement?
    You can put it into the message instead of deleting. And rebuild the "header" in the second step. So you can fullfill the requirement. As mentioned before: The design is complex, this will lead later on to problems. Any change will be difficult, as another developer had to read a long documentation.
    An alternative would be to do all with one interface mapping (without validation):
    1. ABAP / Java mapping deleting the "header" (put it to memory)
    2. Messges Mapping 1:1 each field (will fail in case of wrong format and act as validator)
    3. ABAP / Java mapping restoring the header
    4. Alert will be raised in case of an error (to get the result of the validation)
    Armin Kern wrote:
    > I also thought about splitting the message, deleting those 2 rows in one of the messages, sending this one message to PI again, validate it and if it is correct, send the second message (without mapping) to the final destination. No idea if that is possible at all..
    As well possible. You would need a virtual receiver for the first message, which is sending back a response. For example a servlett, a proxy or a RFC module. In that design you put some logic to the sender, what is actually not bad. But if you do so, why you dont validate there as well (for example with Java)? It would make your design much easier..
    Regards,
    Udo

  • Ignoring non-ASCII characters in XML file.

    Hello all who read this,
    I got the following problem. Trying to read an XML file which contains UTF-8 characters. My database doesnt support UTF-8 char set .... obviouselly.
    Below you will find my procedure for parsing XML file ... now i was wondering if there is a way (and how ) to ignore those "special" characters in my XML file.
    Thank you for you help!
    PROCEDURE xml_import is
    BEGIN
    DECLARE
      l_bfile   BFILE;
      l_clob    CLOB;
      l_parser  dbms_xmlparser.Parser;
      l_doc     dbms_xmldom.DOMDocument;
      l_nl      dbms_xmldom.DOMNodeList;
      l_n       dbms_xmldom.DOMNode;
      l_temp    VARCHAR2(1000);
      FILER     VARCHAR2(1000) := 'xml.xml';  
      TYPE tab_type IS TABLE OF X_XML%ROWTYPE;
      t_tab  tab_type := tab_type();
    BEGIN
      l_bfile := BFileName('XML_DIR',FILER);
      dbms_lob.createtemporary(l_clob, cache=>FALSE);
      dbms_lob.open(l_bfile, dbms_lob.lob_readonly);
      dbms_lob.loadFromFile(dest_lob => l_clob,
                            src_lob  => l_bfile,
                            amount   => dbms_lob.getLength(l_bfile));
      dbms_lob.close(l_bfile);
      dbms_session.set_nls('NLS_DATE_FORMAT','''DD-MON-YYYY''');
      l_parser := dbms_xmlparser.newParser;
      dbms_xmlparser.parseClob(l_parser, l_clob);
      l_doc := dbms_xmlparser.getDocument(l_parser);
      dbms_lob.freetemporary(l_clob);
      dbms_xmlparser.freeParser(l_parser);
      l_nl :=  dbms_xslprocessor.selectNodes(dbms_xmldom.makeNode(l_doc),'/Doc/Upk');
      FOR cur_emp IN 0 .. dbms_xmldom.getLength(l_nl) - 1 LOOP
        l_n := dbms_xmldom.item(l_nl,cur_emp);
        t_tab.extend;
        dbms_xslprocessor.valueOf(l_n,'@id',t_tab(t_tab.last).id);
        dbms_xslprocessor.valueOf(l_n,'line1',t_tab(t_tab.last).vr);
        dbms_xslprocessor.valueOf(l_n,'line2',t_tab(t_tab.last).used);
        dbms_xslprocessor.valueOf(l_n,'line3',t_tab(t_tab.last).got);
      END LOOP;
      FORALL i IN t_tab.first .. t_tab.last
        INSERT INTO X_XML VALUES t_tab(i);
      COMMIT;
      dbms_xmldom.freeDocument(l_doc);
    --EXCEPTION
    --  WHEN OTHERS THEN
    --    dbms_lob.freetemporary(l_clob);
    --    dbms_xmlparser.freeParser(l_parser);
    --    dbms_xmldom.freeDocument(l_doc);
    END;
    END;
    XML file structure:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <AjpesDokument>
    - <Ident vrsta="KOMP">
      <Datum>2011-06-17</Datum>
      <Ura>09:33:10</Ura>
      </Ident>
    - <Dolznik id="88888888">
      <DatumObdelave>2011-06-10</DatumObdelave>
      <Trr>56546654545</Trr>
      <PopolnoIme>Firm d.o.o.</PopolnoIme>
      <Ulica>Kičečeva ul</Ulica>
      <HisnaStev>026</HisnaStev>
      <PostaId>5421</PostaId>
      <Posta>MELJE</Posta>
      <IzpSif>00</IzpSif>
      <IzpNaziv>MELJE</IzpNaziv>
      <IzpNaslov>ČUPAVA</IzpNaslov>
      <IzpNaslov2>MELJE</IzpNaslov2>
    - <Upnik davcna="10232293">
      <Naziv>CMC GALVANIKA d.o.o.</Naziv>
      <Kraj>LEŠČE</Kraj>
      <VrstaPobota>2</VrstaPobota>
      <Prijavljeno>3227.12</Prijavljeno>
      <Pobotano>3227.12</Pobotano>
      </Upnik>
    - <Upnik davcna="11212191">
      <Naziv>AŽERO  d.o.o.</Naziv>
      <Kraj>MELJE</Kraj>
      <VrstaPobota>2</VrstaPobota>
      <Prijavljeno>219.30</Prijavljeno>
      <Pobotano>219.30</Pobotano>
      </Upnik>
      </Dolznik>
    </AjpesDokument>
    Edited by: 869620 on 1.7.2011 2:04

    869620 wrote:
    Hello all who read this,
    I got the following problem. Trying to read an XML file which contains UTF-8 characters. My database doesnt support UTF-8 char set .... obviouselly.It's not obvious as Oracle can certainly be configured for UTF-8.
    How about giving us some example XML and what you expect as output as there can be easier ways of extracting data from XML than using the dbms_xmldom package.
    The dbms_xmldom package is one way, but it's not necessarily the best, as I would tend to use that for processing XML based structure that I don't actually know (I have used it myself, for example, for parsing XML Schemas (XSD) to auto-generate code for producing XML to match that schema), but for extracting date from a known XML structure, I would probably use SQL's XMLTABLE functionality.
    And when you post code/data, please use the {noformat}{noformat} tags as detailed in the FAQ: {message:id=9360002}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • XSLT and non-well formed XML file

    All,
    I am getting some "XML" feeds from some old lab equipment, however the XML isn't well formed.  Really it isn't even XML it is just a formatted text file.  So I will get a feed like the following:
    <SampleSet Label="Sample Set">
    <Name Label="Name" Value="CQS6" />
    <AnalysisDate Label="Analysis Date" Value="3/13/2015 12:20 PM" />
    <CarbonAvg Label="Carbon Avg." Value="116 ppm" />
    </SampleSet>
    <SampleSet Label="Sample Set">
    <Name Label="Name" Value="2015002301 1" />
    <AnalysisDate Label="Analysis Date" Value="3/13/2015 11:46 AM" />
    <CarbonAvg Label="Carbon Avg." Value="43.5 ppm" />
    </SampleSet>
    <SampleSet Label="Sample Set">
    <Name Label="Name" Value="2015002302 2" />
    <AnalysisDate Label="Analysis Date" Value="3/13/2015 11:53 AM" />
    <CarbonAvg Label="Carbon Avg." Value="44.4 ppm" />
    </SampleSet>
    <SampleSet Label="Sample Set">
    <Name Label="Name" Value="2015002303 3" />
    <AnalysisDate Label="Analysis Date" Value="3/13/2015 12:00 PM" />
    <CarbonAvg Label="Carbon Avg." Value="42.6 ppm" />
    </SampleSet>
    <SampleSet Label="Sample Set">
    <Name Label="Name" Value="2015002322 1" />
    <AnalysisDate Label="Analysis Date" Value="3/13/2015 12:07 PM" />
    <CarbonAvg Label="Carbon Avg." Value="32.3 ppm" />
    </SampleSet>
    <SampleSet Label="Sample Set">
    <Name Label="Name" Value="2015002323 2" />
    <AnalysisDate Label="Analysis Date" Value="3/13/2015 12:14 PM" />
    <CarbonAvg Label="Carbon Avg." Value="35.8 ppm" />
    </SampleSet>
    <SampleSet Label="Sample Set">
    <Name Label="Name" Value="2015002324 3" />
    <AnalysisDate Label="Analysis Date" Value="3/13/2015 12:27 PM" />
    <CarbonAvg Label="Carbon Avg." Value="32.4 ppm" />
    </SampleSet>
    <SampleSet Label="Sample Set">
    <Name Label="Name" Value="CQS6" />
    <AnalysisDate Label="Analysis Date" Value="3/13/2015 12:33 PM" />
    <CarbonAvg Label="Carbon Avg." Value="123 ppm" />
    </SampleSet>
    As you can see, this isn't well formed and when I try to process this via XSLT I run into all kinds of problems.  So outside of writting a program to watch for files, picking them up with a c# program, wrapping the XML to make it well formed then pass
    it to the XSLT file, is there a way that I can wrap the file using XSLT instead of having to create a separate program to make it well formed? Any help is appreciated.

    Hello katghoti,
    >>however the XML isn't well formed.  Really it isn't even XML it is just a formatted text file
    Firstly, we should know that a text file actually does not know a XML format, so I suggest that you could save the text file to a XML file. And if you provided XML is the whole content, it is not an invalid XML file because the XML document must have one
    and only one root element. You have to add root element, so a valid XML file with these SampleSet elements should be similar with below:
    <?xml version="1.0"?>
    <SampleSets>
    <SampleSet Label="Sample Set">
    <Name Label="Name" Value="CQS6" />
    <AnalysisDate Label="Analysis Date" Value="3/13/2015 12:20 PM" />
    <CarbonAvg Label="Carbon Avg." Value="116 ppm" />
    </SampleSet>
    <SampleSet Label="Sample Set">
    <Name Label="Name" Value="CQS6" />
    <AnalysisDate Label="Analysis Date" Value="3/13/2015 12:33 PM" />
    <CarbonAvg Label="Carbon Avg." Value="123 ppm" />
    </SampleSet>
    </SampleSets>
    I am not sure how you want the XML be formatted, my usual approach to format a XML file is to open the file in Visual Studio and use ctrl K+D keyboard shortcuts to format the XML file.
    >>is there a way that I can wrap the file using XSLT instead of having to create a separate program to make it well formed?
    XSLT is used to process XML file, while you provided file is a text file, it does not recognize it.
    If I misunderstand, please feel free to let me know.
    Regards.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Loading XML file into non-XML table(s)

    HI Gentlemen,
    I successfully registered my schema and generated an xml-based table and a TYPE. However, I do not have the table that would correspond to this TYPE. How do I get to it? How can I use FTP or HTTP protocol to load actual data from the corresponding .xml file into this table?
    Thanks in advance, kind regards from
    Miklos HERBOLY

    You need to include the XML schema location information in the XML documents to point to the registered XML schema.
    For example,
    If you register an XML schema to XML DB with "http://www.example.com/po.xsd"
    In the XML document, the xml schema location can be:
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.example.com/po.xsd http://www.example.com/po.xsd">
    For more information, you can check the example in the following page:
    http://www.oracle.com/technology/sample_code/tech/xml/xmldb/index.html
    Best,

  • Form2xml generate xml files with "??????????" for non-latin characters

    i used form2xml in oracle 10 g suit to convert forms 5   .fmb to .xml . using the command:
    frmf2xml.bat OVERWRITE=YES myform.fmb
    The forms contains arabic character set, but the xml file is generated with character "????????? "  , and the xml file is unusable
    what can i do to keep arabic characters in the generated  xml files.
    Edit:
    I run form2xml on windows xp SP3 with arabic support (codepage =1256)
    The xml file is generated as UTF-8

    I resolved the problem.
    step1: search in the registry for every NLS_Lang key and modify its value to codepage 1256 using regedit
    step2: in control panel-Region and Language , I  modified language to be Arabic
    Now every thing is good

Maybe you are looking for

  • Article Deletion in SAP Retail

    What is the process for deleting an article and then archiving the article in SAP Retail ECC6.0?  So far what I have is to: 1.  Go to MM46 and find layouts for article 2.  Go to WLWBN and Delete Assignments 3.  Go to Assortment in WSP6 and delist fro

  • Struts validation not working properly

    Hi, I'm using the struts validator to validate my form.. I've followed all the steps required.. I've checked it quite a few times :) Currently I want to verify if my form fields have any value, so am verifying the required property.. but when I submi

  • Iphone syncing in PSE 7

    Hi there - this is my first post so forgive me if I have put this in the wrong place ... I have just invested in an iphone 3GS, and have been using PSE for a while, and am now on PSE 7.0.  I would like to sync my PSE albums to my iphone.  I can selec

  • FB60 Transaction, BKPF object

    Hi all. Do you know what is the neccesary configuration in FI in order to get the events from object BKPF triggered in transaction FB60?? I think that some configuration is needed to trigger the events but I can't find the exact point in customizing.

  • Analyze link generated by Portal not working after SSL Configuration

    Hi, We've installed OracleAS Portal 10.1.4 and Oracle Discoverer Version 10.1.2.48.18 on the same machine. We recently configured SSL on OracleAS Portal for SSO server only. Discoverer was not SSO enabled. Now after successful SSL configuration we ar