Skip to Content
Contrary to popular believe, the message or document sent thru XI does NOT have to be in XML format. This means that any data, including EXE, ZIP, PDF, Word, Excel, etc., can be sent thru XI from any adapter to any adapter. Provided, of course, the receiver system will be able to handle the data format. (File adapter is an example which can handle any format without any development.)

Not only that, in developing this interface, there is no need to create any objects in the Integration Repository (IR). This means no mapping. Yes, if the data is not in XML, then no mapping can be done. So, we will only need to work in the Integration Directory (ID).

What can we do with this knowledge? Here are some examples:

  1. we can test adapters very easily and quickly without any IR development.
  2. we can send any formatted data without having to convert it to XML and back again, e.g. file->XI->file.
  3. we can send any document from 1 sender to multiple receivers using XI to guarantee delivery.

Here are the steps required: (some steps will not contain any details because they are no different than developing for any other XI interfaces)

  1. Configure sender and receiver communication channels in a Business Service or System, as usual.
  2. Create a Receiver Determination:

    image

    1. The Service has to be a valid business service or system in the ID.
    2. Interface name can be anything you make up, but should be unique. In this case, it is “nonexistence_interface”.
    3. Namespace name can be anything you make up or already exists. In this case, it is “http://abc.com“.
  3. The following is created:

    image

    Enter a valid service for the Receiver and save.

  4. Create Interface Determination:

    image

    1. Use the same Interface name as the sender.
    2. Use the same Namespace name as the sender.
    3. Do NOT enter any Interface Mapping.
  5. Create Sender and Receiver Agreements as usual.

The interface is now ready to be activated and executed. Once executed, you can examine the content of the payload in SXMB_MONI. It will contain whatever the data you sent, but you will also receive an error indicating that the message is not XML (which can be ignored).

The main points of this exercise is:

  1. IR is not necessary for development of interfaces in XI.
  2. In ID, any name can be used for Sender Interface and Namespace names, and they do not need to exist in IR.
  3. No Mapping can be used, since the data may not be XML.
  4. The Receiver Interface and Namespace names must match that of the Sender Interface and Namespace names.
  5. Most importantly: the data sent thru XI does NOT have to be in XML; any data can be sent thru XI.
To report this post you need to login first.

17 Comments

You must be Logged on to comment or reply to a post.

  1. Michal Krawczyk
    I know when we shound’t use it:)
    in case you need to pass a binary (or not)
    file with a large size it really is not a good
    idea to push through the XI with this approach

    big files (many Mb) should be copied (java proxy)
    and not pushed via XI I believe

    example

    – copying 150 Mb file (to another FTP on the same local network) with a java proxy – a few minutes

    – via XI (even withoout any IR objects) … I don’t wanna know 🙂

    do you agree ? 🙂

    Regards,
    michal

    (0) 
    1. sachin kotalwar
      hi Michal,

      I think you are talking about using file copy through java proxy. The file destination details may be looked up using channel lookup right?

      cheers,

      sachin.

      (0) 
    2. William Li Post author
      Hi Michael,
      Yes, sending any large message via the file adapter will result in some performance problems, depending on the file size.

      Regards,
      Bill

      (0) 
  2. Jason Scott
    Hello,
    Just wondering what is the benefit of using a java proxy to perform the ftp of your large file? Why not just leave XI out of it altogether and let the application that creates the file perform the ftp? I’m trying to work out what benefit using XI gives in this scenario.

    We have the issue that the legacy SAP system download huge files (10MB and even up to 300MB) and ftp’s them to a file server. Our XI instance simply cannot handle these messages! Should we just let the abap program that downloads the files also perform the ftp or should we use XI to do the ftp using a proxy as Michal suggests?

    (0) 
    1. William Li Post author
      Hi,
      In your case, it probably makes sense to FTP from the source system, instead of using XI.  Your interface, I assume, involves File/FTP to File/FTP, without any mapping.  Using XI does not present any benefits.

      XI should be considered if one of the following is true:
      1.  mapping is required
      2.  multiple destinations are required
      3.  different types of adapters are used for sender and receiver (e.g. File -> JMS)
      4.  BPM is require

      Regards,
      Bill

      (0) 
  3. Anonymous
    Would it be possible to do a mapping if desired?
    In my case I have binary input data which might be sent as you described, but I want to map this to an existing interface which works with XML. Could I put a java mapping in between that converts my binary stream to an XML and hands it over to the inbound interface?
    (0) 
    1. William Li Post author
      Hi,
      To do mapping, Integration Repository (IR) objects will be required, e.g. data type, msg type, msg interface, interface mapping.

      As for sending a non-XML msg and using java mapping, as you described, it is fine.  But, you will still need to have all the required IR objects.

      Regards,
      Bill

      (0) 
  4. Subhendu Sahu
    Hi,
    I ve tried step by step as instructed in the Blog, but
    1)I am not getting any Error Message that message is not XML.

    2)Everything OK in SXMB_MONI, but the receiver Adapter is not bale to Create the Output File, nad indefinitely the Status is “To Be Delivered” and it is not resulting in an Error.

    Please guide

    (0) 
    1. William Li Post author
      Hi,
      Looks like everything executed as expected.  You will not get an XML error in SXMB_MONI.

      The problem you received is unrelated to your configuration.  It is possible the msgs in the queue is being held up.  Pls check the queues to resolve problem.

      Regards,
      Bill

      (0) 
  5. navneet sumit
    thanks for the wonderful bolg.
    i tryied your blog and it is working fine . but one concern is that for each message i am getting two messages in RWB. first message  having only sender service  and no receiver service is precent, and in second message both sender and receiver service is present. I am getting only one file at output.
    please tell me that what is the reason of getting two message at RWB and how this can be avoide.

    thanks
    navneet.

    (0) 
  6. navneet sumit
    thanks for the wonderful bolg.
    i tryied your blog and it is working fine . but one concern is that for each message i am getting two messages in RWB. first message  having only sender service  and no receiver service is precent, and in second message both sender and receiver service is present. I am getting only one file at output.
    please tell me that what is the reason of getting two message at RWB and how this can be avoide.

    thanks
    navneet.

    (0) 
  7. Sarvesh Singh
    Hello William,

    Hope you don’t mind about my question here. We are trying this method to send a PDF file to MQ via Receiver JMS adapter but MQ team is not able to receive it as PDF.

    I hope you can find some time to reply in my thread.. File to JMS without using IR

    Thanks,
    Sarvesh

    (0) 

Leave a Reply