cancel
Showing results for 
Search instead for 
Did you mean: 

XI Interoperability with C-based Custom Applications

Former Member
0 Kudos

How can XI interoperate/connect to C-based custom applications? What connectivity option (i.e. adapters) can be used for both inbound and outbound processing? Please provide the best approach using the existing technology adapters, existing 3rd-party adapters, other means, while excluding the development of custom adapters.

Accepted Solutions (1)

Accepted Solutions (1)

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

Like pointed by Chemmanz, you can use the file adapters.

The C program / Application can create a file which XI can poll over using the file adapter.

Regards

Bhavesh

Answers (2)

Answers (2)

STALANKI
Active Contributor
0 Kudos

Use Java proxies...We can call the DLL of your C applications from Java..Iam sure you will be alreday familiar.If you ask me then I recommend java proxies.

Check this sample which uses sockets in java mapping but am not sure wether you like to do in mapping or use java proxies.

https://weblogs.sdn.sap.com/pub/wlg/2839. [original link is broken] [original link is broken] [original link is broken] [original link is broken]

Former Member
0 Kudos

You provided a solution going inbound to the C-application, but what about outbound? Can I use a real-time connectivity option? The only recommendation I have received is using a file adapter. I would like to use some capability that provides me real-time integration. Thanks for the help.

arunneerolil
Contributor
0 Kudos

You can use either

XI - File - CustomApp (XI File Adapter) Async

or

CustomApp <-> XI (XI Http Plain Adapter) Sync

rgds

Chemmanz

Former Member
0 Kudos

So, if I understand you...

From XI to CustomApp: I can use the XI File Adapter Async

From CustomApp to XI: I can use the HTTP Adapter Sync

Is this correct? If so, can I perform from XI to CustomApp using another option that will enable a more "real-time" connection, similar to the CustomApp to XI? Also, can I perform Async from the CustomApp to XI using HTTP or another method?

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

I guess what Chemmanz meant was if you need Synchronous Communication with your Application , you can use the HTTP adapter and if you need Asynch Communication you can use the File Adapter.

Regards

Bhavesh

Former Member
0 Kudos

Can either of you explain in more detail, how both options would be implemented?

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

Am not sure about HTTP, but for the file part it iwll be quite simple .

I learnt C during my university days and from what I remember, you can write and read file using standard C / C++ classes / functions.

So, when the C application needs to talk / send data to XI, it can write a file using the standard functions available and using the sender File adapter of XI, you can poll the same file and do the needful in XI ( including Content Conversion if the C application is to create a TXT file).

In the other case if XI needs to send data to the C application, then XI can write a file and the C application can read this file using its standard functions.

With respect to XI, you will be dealing with a File Bases Interface with the C application. And the process will be just like any other file interface.

Regards

Bhavesh

Former Member
0 Kudos

Any thoughts on real-time integration?

bhavesh_kantilal
Active Contributor
0 Kudos

Real Time Integrtaion , I guess you would need to use the HTTP adapters like pointed by Chemmanz.

I have never worked much on Socket Communication / HTTP based Communication using C during my University days and so this is a bit of grey area for me as well.

If it is possible to post an HTTP request from your C Application, then you can use the sender HTTP adapter 's url to post the request message from your C application to XI.

Likewise, if you want the C application to be the reciever to process some request from XI, you can have your C app listening for the HTTP request ocver the port and XI can post the HTTP request to the C application and it can resend the response.

This is surely possible using HTTP adapters , but how the coding is to be handled on the C Application, only a C expert can help!

Regards

Bhavesh