Hi Everyone,
I am developing the following scenario:
- 3rd party makes a SOAP call to SAP (via PI) to determine whether a vendor exists or not in the SAP system. The link for the call is provided by us from the Integrated Configuration.
- The request comes in, calls an ABAP Proxy to check if a vendor exists and sends a response back to the SOAP call with a 'Y' or an 'N'.
I've read a lot about various scenarios but I'm having trouble connecting the dots as I'm fairly new to PI. I'd appreciate any help.
I've made the following set-up based on assuming I need separate Service Interfaces for the SOAP Request & Proxy Response
ESR
1. Message Types
SOAP (MT_SOAP_REQ & MT_SOAP_RESP) - PROXY (MT_PRXY_REQ & MT_PRXY_REQ)
2. Message Mappings
MM_REQUEST which maps MT_SOAP_REQ to MT_PRXY_REQ)
MM_RESPONSE which maps MT_PRXY_RESP to MT_SOAP_RESP)
3. Service Interfaces (Synchronous)
(SOAP Request)
SI_IN (Inbound Interface) with Request = MT_SOAP_REQ and Response = MT_SOAP_RESP
(Proxy Response)
SI_OUT (Outbound Interface) with Request = MT_PRXY_REQ and Response = MT_PRXY_RESP
4. Operation Mapping
OM_LOOKUP which maps SI_IN to SI_OUT with Request (MT_SOAP_REQ to MT_PRXY_REQ)
and Response (MT_SOAP_RESP to MT_PRXY_RESP)
- I create the ABAP Proxies for each Service Interface. SI_IN contains the required coded method to check if there is a vendor.
- I create the webservice and binding for SI_IN in SOAMANAGER
- At this point I'm somewhat unsure - what do I need to do for SI_OUT ? Do I need to create a logical port ? how is SI_OUT associated to SI_IN (apart from the Operation) to get the response.
ID
In the Integration Directory I've created a SOAP_SENDER communication channel for System A and SOAP_RECEIVER channel for SAP. For the SOAP Receiver I need to specify a URL - what should this be ? Is it meant to point to the web service for SI_IN in SICF or just to the generic http://host:8000/sap/xi/engine?type=entry
Do I need to use the HTTP_AAE adapter for the receiver instead of SOAP ?
I created an Integrated Configuration for the SI_IN Service Interface with comm channel SOAP_SENDER from System A and SOAP_RECEIVER for SAP backend. I then got the WSDL for this to provide to the 3rd Party to test (via SOAP UI) . Again my concern is how is the SI_IN linked to the SI_OUT to achieve the response ?
I appreciate you taking the time to go through this . Any help is greatly appreciated.
Thanks very much
Gary