Technical Articles
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 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 Interface
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
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.
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
Hi Philippe,
Thanks for the advice, that makes the setup much easier. I'll check and adjust the blog post accordingly.
Kind regards
Stefan