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:
- we can test adapters very easily and quickly without any IR development.
- we can send any formatted data without having to convert it to XML and back again, e.g. file->XI->file.
- 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)
- Configure sender and receiver communication channels in a Business Service or System, as usual.
- Create a Receiver Determination:
- The Service has to be a valid business service or system in the ID.
- Interface name can be anything you make up, but should be unique. In this case, it is “nonexistence_interface”.
- Namespace name can be anything you make up or already exists. In this case, it is “http://abc.com“.
- The following is created:
Enter a valid service for the Receiver and save.
- Create Interface Determination:
- Use the same Interface name as the sender.
- Use the same Namespace name as the sender.
- Do NOT enter any Interface Mapping.
- 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:
- IR is not necessary for development of interfaces in XI.
- In ID, any name can be used for Sender Interface and Namespace names, and they do not need to exist in IR.
- No Mapping can be used, since the data may not be XML.
- The Receiver Interface and Namespace names must match that of the Sender Interface and Namespace names.
- Most importantly: the data sent thru XI does NOT have to be in XML; any data can be sent thru XI.
XI in the role of a FTP
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
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.
no as you don’t use a file channel (adapter)
Regards,
michal
Yes, sending any large message via the file adapter will result in some performance problems, depending on the file size.
Regards,
Bill
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?
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
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?
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
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
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
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.
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.
You can simply use different names and namespaces for the interfaces:
DummyInterface_out http://dummynamespace.com/xi/test_1
DummyInterface_in http://dummynamespace.com/xi/test_2
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