Skip to Content
Technical Articles
Author's profile photo Stefan Ludwig

Setup a synchronous web service call from AS ABAP to an external system using Java only PI

This blog post describes the setup of a synchronous web service call from AS ABAP to an external system.  In this example walk through, the PI is Java only and an API named “genericCall” is called in the target system.

Scenario: The web service call is initiated from the AS ABAP backend (e.g. ERP or S/4HANA) in SOAP protocol and directed to PI. There it is passed to the target system still as SOAP but without changing the mapping. (“pass through scenario”)

 

Enterprise Service Builder

First, create a new object in ESB and activate:

Create%20object%20in%20ESB

Create object in ESB

Now, create the external definition as shown:

and import the XSD

Don’t forget to activate.

Service Interface

Next step –  create a service interface:Service%20Interface

Service Interface

Service%20Interface%20detail

 

Message Mapping

The message mapping is just a pass through and does not change any fields. (assuming the data is already sent in the expected target format)

 

Operation Mapping

Connect source and target message in the operation mapping:

Integration Builder

The setup in the integration builder requires a couple of steps, as follows:

 

Define the logical port in SOAMANAGER

For the logical port that needs to be defined in the backend system via SOAMANAGER, enter the URL accordingly:

 

Conclusion

Following the explanations above, it’s possible to use “native” SOAP calls triggered from your backend system and get them processed by PI.  The special aspect in this scenario is the synchronous communication to the target system. Overall, the effort is kept within limits for the PI set up for the pass-through of the web service call.

 

I hope you liked this blog and find it useful (in that case don’t hesitate to like it 😉 ).

Please feel free to comment about your experiences or let me know any questions you might have about the setup in PI and the integration with the backend.

Assigned Tags

      2 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Philippe Addor
      Philippe Addor

      Hi Stefan

      I'd like to give you some inputs: Almost all of the steps that you describe are actually unnecessary to do...  🙂

      In general, if you don't need any mapping (like in your case it's 1:1), you don't need to create a Message Mapping nor an Operation Mapping object! As I can see on your ICO's "Receiver Interface" tab, you didn't set the OM (only the target interface) - so it's not used anyway.

      Furthermore, for a pass-through scenario, you don't even need to import the XSD and create the service interface. In other words, no action in the ESR is required since you don't design/define the interface in PI/PO at all. You use the middleware only as a simple gateway to forward the (SOAP) calls. For this, you only need the SOAP channels and a simple ICO with dummy interfaces on sender and receiver side (you can also use the already created Service Interface from the ESR if you prefer).

      Hope that helps. Let me know if it doesn't work as I described.

      Best regards,

      Philippe

       

       

      Author's profile photo Stefan Ludwig
      Stefan Ludwig
      Blog Post Author

      Hi Philippe,

      Thanks for the advice, that makes the setup much easier. I'll check and adjust the blog post accordingly.

       

      Kind regards

      Stefan