cancel
Showing results for 
Search instead for 
Did you mean: 

SAP PI 7.4 SOAP -> ABAP Proxy Synchronous Webservice

GaryK
Explorer
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

former_member184720
Active Contributor
0 Kudos
  • 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.

>>>>No need to do anything in SOAMANAGER

------------------

Do I need to use the HTTP_AAE adapter for the receiver instead of SOAP ?

>>> No. Soap adapter is fine. Configure your receiver channel as explianed in the below blog (section 4.3)


http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/70066f78-7794-2c10-2e8c-cb967cef4...


----------------------------

Again my concern is how is the SI_IN linked to the SI_OUT to achieve the response ?


>>>>Your receiver determination and interface determination takes care of this.(receiver interface  & outbound processing tabs in ICo)







Answers (2)

Answers (2)

GaryK
Explorer
0 Kudos

Hi Hareesh and Hari,

I implemented your suggestions and it worked great. Thanks a lot for taking the time to respond. Very much appreciated. Every day a learning day

Thanks again

Gary

former_member190624
Active Contributor
0 Kudos

Hi Gary,

Small correction in ESR part ,

Outbound Service Interface always points to sender system Message types  i.e.MT_SOAP_REQ & MT_SOAP_RESP.

Inbound Service Interface always points to receiver system Message type i.e. MT_PRXY_REQ & MT_PRXY_RESP

Hareesh already covered ID part .

Thanks

Hari.