cancel
Showing results for 
Search instead for 
Did you mean: 

inbound interface as webservice?

Former Member
0 Kudos

I hava developed a simple file to file scenarion with all data types message types and msg mappings etc.

sender file(XML) contains two nos and receiver file contains the result (addition) of these nos.

now i want to expose inbound interface(receiver) as a web service so that i can get the addition result from any other application like java or .net.

so is it possible to expose inbound interface as web service?

If yes, please tell me the required steps.

Regards,

Piyush

Accepted Solutions (1)

Accepted Solutions (1)

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

Only Outbound Interafaces can be exposed as Webservices in XI. You expose an Outbound Interface as a webservice, generate a WSDl and this WSDL is used by your calling applications to send the request messages to XI.

To triggers a Webserivce/ call an external webservice from XI, you import an external WSDL in XI and then use this as your Inbound Message Interface with the receiver SOAP adapter.

So, if your question is whether an Inbound Message Interface can be exposed as webserivce, then the answr is No. If the questions is whther you can call an external webservice from XI , the answer is yes.

Regards,

Bhavesh

Former Member
0 Kudos

Dear Bhavesh,

Thanks for your answer.

Previousle I was using--

inbound interface with output(result of addition) message

outbound interface with input message( numbers for addition)

And also I have defined messge mapping( which does addition) and interface mapping.

Now after your answer I'm trying as follows.--

I've made an outbound synchronous interface with inputmessage((two nos) and output message(result).

Now i can directly use this outbound interface for exposing WS from integration directory.

But nw where can I define actual addition which I was defining in message mapping previously?

waiting for reply

Regards,

Piyush

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

What you are trying now is to send data from a Webservice Client to XI.

You are looking at passing 2 numbers from the webservic Client to XI and then looking at adding the 2 numbers and sendind the rresponse back to the calling webservice.

To do this, now, you would also need to make a call to an external webbservice from XI to say a calculator webservice.

Check this link for a calculator webserivce. http://www.webservicex.net/

Import the WSDL in XI and use this as your inbound message interface synch 's messge type and do the request and response messge mapping and invoke the webservice using the receiver soap adapter.

Your scneario now becomes,

SOAP -- XI -- SOAP

Regards,

Bhavesh

Former Member
0 Kudos

Hi Bhavesh,

Can you please explain a little bit more.

Means I have to make and outbound interface( containing two messages) and using SOAP Adapter(sender), I can expose that web service.

Now I should import the same wsdl using inbound interface and SOAP adapter(receiver)

Is this the right thing which I am understanding?

But whrere to define the message mapping( that performs actual addition) and where to use it and can i testl this web servioce from java ?

Please explain in bit detail.

Thanks and Regards,

Piyush

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

><i>Means I have to make and outbound interface( containing two messages) and using SOAP Adapter(sender), I can expose that web service.</i>

So far, so good . You are on the right track.

><i>Now I should import the same wsdl using inbound interface and SOAP adapter(receiver)</i>

No. What you would need is an external webservice or your own webservice published on some URL. The link i gave in my previous post has multiple webservices. Search in it for the calculator webservice .

This webservice will give you a WSDL. Now, use this WSDL in your XI as your Inbound Message Interface with the request and response messages. And use the SOAP adapter as to make the call to the Webservice.

Ofcourse, you can write your own webservice which does the addition, publish it.

but, the procedure in XI will be the same. Import the WSDL and do the needful mapping and configuration.

More on this document,

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/336365d3-0401-0010-9884-a651295a...

Regards,

Bhavesh

Former Member
0 Kudos

Hi Bhavesh,

Rest is clear but still want to know one more thing.

When i was using file to file scenario , i was performing the addition using message mapping in Integration repository.

But in the case which i want to do now, can i perform the addition inside XI instead of using external web service ?

Regards,

Piyush

bhavesh_kantilal
Active Contributor
0 Kudos

Piyush,

What you can do is make a SOAP -- XI -- File scenario.

In this case in your mapping you can write the logic to add the 2 numbers and post the result to a file. This will become an asynch scenario.

If you are looking at a synch scenario then you would need to have the inbound message interface also as a synch and that is why i suggested that you use a webservice also on the inbound side.

The choice is always yours.

Regards,

Bhavesh

Former Member
0 Kudos

Piyush,

One option is to have a simple RFC at the R/3 to perform the addition for you and send the result. You can use this result as response to your webservice synch. call.

The scenario would be

SOAP-XI-RFC

P.S: This is what I am planning to do for understanding SOAP.. How ever our XI server is down now, so I got to wait..

Regards,

Jai Shankar.

Answers (0)