Complete Proxy Configuration Guide for SAP PI/PO and ECC

Setting up and configuring SAP Proxy connectivity is a complex task with multiple steps to consider. This article looks at the Proxy Configuration steps in detail. We will discuss the prerequisites for setting up Proxy connectivity and how to test and validate Proxy settings.

Proxy configuration is done in several systems: SAP System, Net-weaver Administrator (NWA) and Process Integration/Orchestration.

Connectivity between SAP PI/PO and SAP back-end is established by configuring SAP ABAP Proxy framework with PI/PO SOAP adapter. To setup the communication between SAP ABAP Proxy with AEX SOAP adapter we use the message protocol XI 3.0. In this illustration, we will be connecting an SAP ERP 6.0 version (Netweaver 7.5) with Process Orchestration PO 7.5.

SAP Versions used in the illustration:

  • SAP S4 HANA Fashion 1709
  • SAP PO 7.5

Prerequisites for Setting Up Proxy Connectivity.

Before starting Proxy configuration in ECC back-end system and PI/PO, you need to make sure these prerequisites are fulfilled. First, check if the SAP ECC system is registered in SLD. Then, make sure the SLD RFC destinations are maintained correctly in the SAP back-end system. Last but not least, SICF settings should be completed.

  1. SAP System Registered in System Landscape Directory (SLD).
  2. SLD RFC Destinations are Created.
  3. SICF Configuration Is Completed by BASIS Team.

Prerequisite 1: SAP System Registered in System Landscape Directory (SLD).

Make sure you have registered the SAP back-end ECC system in System Landscape Directory (SLD). Business System of SAP system should be created and imported to Integration Directory. The name of SAP Business System in this example is SADCLNT900.

Prerequisite 2: SLD RFC Destinations are Created.

When you register the SAP Technical System in System Landscape Directory (SLD), RFC Destinations to SLD are automatically created. Automatically generated RFC destinations names are SLD_NUC and SLD_UC. Make sure these two RFC Destinations are available in the SAP back-end system and are working.

Both of them are TCP/IP connections of type T. If they are not working you need to contact your BASIS team.

Automatically generated SLD_UNC and SLD_UC TCP/IP RFC destinations in sm59 transaction.
Automatically generated SLD_UNC and SLD_UC TCP/IP RFC destinations

Prerequisite 3: SICF Configuration Is Completed by BASIS Team.

Make sure Services are registered in SICF by BASIS team.


Proxy Configuration Illustration Example.

As I cannot expose the actual system details, they are replaced in screen shots as follows,

PI/PO System ID is POD.

SAP back-end system ID is SAD.

The SAP Client we are trying to connect is 900.

POD server URL is <host>. You access Process Orchestration homepage via http://<host>:<port>/dir.

SAP Business System name in SLD is SADCLNT900.

Summary of Steps to Setup Proxy Communication between SAP ECC back-end and PI/PO

  1. Create HTTP Destination for Advanced Adapter Engine (AAE) in SAP ABAP back-end system. – HTTP_POD
  2. Create HTTP Destination to Enterprise Resource Repository (ESR) in SAP ABAP back-end system. – SAP_SPROXY_ESR
  3. Setup HTTP RFC Destination to SLD. – SLD_POD
  4. Configure Integration Engine Administration using transaction SXMB_ADM.
  5. Configure SLDAPICUST.
  6. Create HTTP Destination in PI/PO for Inbound Proxy processing. Prerequisites: HTTP services are active in SICF.
  7. Create Proxy Sender and Receiver Communication Channels in PI/PO. Sender Channel: SOAP_Sender, Receiver Channel: SOAP_Receiver.

Step 1 – Create Destination for Advanced Adapter Engine (AAE) in SM59.

This destination of type G (HTTP Connection to External Server) is directed to Advance Adapter Engine (AAE) of Process Integration (PI) or Process Orchestration (PO).

You can name the destination HTTP_<PI/PO System ID>. Let’s assume the System ID of the development server is POD. HTTP Destination name will be HTTP_POD.

Parameters used for AAE HTTP destination.

  • Connection Type = G (HTTP Connection to External Server)
  • Target Host = <Host Name of AAE or AEX>
  • Port (Service No) = <HTTP Port Number of AAE or AEX host server> : Default 50000

Port for HTTP is ‘5<system number>00’ and for HTTPS — ‘5<system number>01’. Default port for J2EE server is ‘50000’.

  • Path Prefix= /XISOAPAdapter/MessageServlet?ximessage=true
  • Logon and Security.
HTTP RFC Destination to AAE or AEX of Process Orchestration host port and prefix configuration
HTTP RFC Destination to AAE or AEX of Process Orchestration

Maintain PI/PO system username and password under ‘Basic Authorization’ logon procedure.

Step 2 – Create HTTP Destination to Enterprise Resource Repository (ESR).

This RFC destination is used by transaction SPROXY to import Enterprise Repository objects and generate Proxy objects.  You can name the RFC destination SAP_PROXY_ESR.

Parameters used for HTTP Connection to ESR.

Technical settings of this HTTP RFC destination are similar to HTTP destination to ABAP back-end.

  • Connection Type = G (HTTP Connection to External Server)
  • Target Host = <Host Name of AAE or AEX>
  • Port (Service No) = <HTTP Port Number of AAE or AEX host server> : Default 50000
  • Path Prefix = /rep
  • Logon and Security = Same as HTTP destination to ABAP back-end in Step 1.
http destination in SAP back-end system to ESR. Host and path prefix configured. HTTP destination name SAP_PROXY_ESR.
HTTP Destination to ESR in SAP back-end system in sm59.

Step 3 – Setup HTTP RFC Destination to System Landscape Directory (SLD).

Create another HTTP RFC Destination to SLD from sm59. We will reuse this HTTP destination in Step 5 to setup SLD Access Data in SLDPICUST transaction.

HTTP RFC Destination in sm59 to System Landscape Directory (SLD)
HTTP RFC Destination to System Landscape Directory (SLD)

Step 4 – Configure Integration Engine Using Transaction SXMB_ADM.

Go to SXMB_ADM and select the node ‘Integration Engine Configuration’.

Select Integration Engine Configuration node of SXMB_ADM administrator
Select Integration Engine Configuration node of SXMB_ADM administrator

Then choose ‘Configuration’ option.

Choose 'Configuration' option. on next screen of the Integration Engine Configuration of SXMB_ADM
Choose ‘Configuration’ option.

Add new entries to the configuration and define parameters ‘IS_URL‘, ‘HTTP_TIMEOUT‘ and ‘ENGINE_TYPE‘.

Add new entries to SXMB_ADM Integration Engine Configuration using button.
Add new entries to SXMB_ADM Integration Engine Configuration

Settings for IS_URL', 'HTTP_TIMEOUT' and 'ENGINE_TYPE' parameters of Integration Engine in SXMB_ADM.
Settings for IS_URL’, ‘HTTP_TIMEOUT’ and ‘ENGINE_TYPE’ parameters of Integration Engine.

Destination name after characters dest:// is the RFC destination we created in Step 1.

Step 5 – Setup SLD Access Data via SLDAPICUST.

Go to transaction SLDAPICUST and add the SLD HTTP Destination name as Alias Name SAP_CONFIG. Make sure to select the options Access to SLD Server Using HTTP and Connect Using HTTP Destination.

These are the recommended settings. But you can directly configure the SLD URL without HTTP destination also.

SLDAPICUST Settings for alias SAP_CONFIG. Configure the HTTP SLD destination with alias SLD_CONFIG.
SLDAPICUST Settings for alias SAP_CONFIG.

Step 6 – Create HTTP Destination in Net-weaver Administrator (NWA).

In this step we will create an HTTP Destination to SAP back-end integration server from PI/PO NWA.

Go to NWA > Configuration > Infrastructure > Destinations and create HTTP destination to Netweaver Integration Engine.

NWA > Configuration > Infrastructure > Destinations

Create a new Destination using New Destination creation wizard.

Choose Create New Destination in NWA.
Choose Create New Destination in NWA.

Usually, Destination Name is defined as <SAP System ID>CLNT<Client Number>_HTTP. In this example, the destination name is SADCLNT100_HTTP. Destination type is HTTP.

Destination creation wizard. Configure host, destination name and protocol detail.
Configure Destination via Wizard.

In the next screen define the Connection and Transport details. URL, System ID, Client and Language parameters are mandatory.

System ID is the SAP System ID (SAD in this example). And client is 900.

Connection and Transport detail. URL, System ID, Client and Language parameters in the HTTPm destination creation wizard in SAP PI NWA.
Connection and Transport detail. URL, System ID, Client and Language parameters.

To find the URL, go to transaction SICF (SAP back-end) and choose ‘Execute’. Service tree will be displayed in the result. Expand the Service tree’s Default host and navigate to
default_host > sap > iwbep or default_host > sap > xi > engine.

Next Step is to define the logon data. In this example I will use Basic Authentication method with Username and Password.

Maintain authentication method of HTTP destination. Basic Authentication with user ID and Password.
HTTP destination Authentication Data.

This HTTP destination will be reused in SOAP Receiver Communication Channel in step 7.

Step 7 – Create Sender and Receiver SOAP (HTTP) Communication Channel.

Finally, create the Sender and Receiver Proxy Communication Channels in SAP PI/PO under the SAP Business System.

SOAP Sender Communication Channel.

Proxy (SOAP) Sender Communication Channel Configuration
Proxy (SOAP) Sender Communication Channel Configuration

SOAP Receiver Communication Channel.

Proxy (SOAP) Receiver Communication Channel.
Proxy (SOAP) Receiver Communication Channel.

Use Address Type “HTTP Destination” and assign the HTTP Destination name we created in Step 6.


How to Test Proxy Connectivity.

There are several ways to check if the Proxy settings are configured in SAP back-end system and Process Orchestration system. If you already have a end-to-end Proxy interface developed, use these proxy debugging techniques to analyse the behaviour at runtime.

Check if RFC and HTTP Destinations Are Working Fine.

Using transaction sm59 and Connection Test, check if the RFC Destinations are functioning as expected. Repeat this step for all RFC destinations we created in previous steps.

Test the RFC Destinations using transaction sm59. Choose Connection test
Test the RFC Destinations using transaction sm59.
HTTP output of Connection test. Code 200
Connection Test Successful with HTTP return code 200

Test SLD Status Using Transaction SLDCHECK.

Execute Transaction SLDCHECK to make sure SLD configuration steps were performed correctly. Choose Allow in the pop-up window.

SAP Output screen of SLDCHECK transation with successful SLDCHECK screen.
Simply execute transaction SLDCHECK.

You should receive a positive response from SLDCHECK if necessary configuration is correctly executed.

Test ESR Connection Using SPROX_CHECK_IFR_RESPONSE.

Execute the program via transaction se38 to test the status of ESR Connection.

Test ESR connectivity using program SPROX_CHECK_IFR_RESPONSE.
Test ESR connectivity using program SPROX_CHECK_IFR_RESPONSE
Output of program SPROX_CHECK_IFR_RESPONSE. ESR connection is successful.
ESR Connection Successful.

Check Proxy Objects via Transaction SPROXY.

Check if SPROXY shows the Software Components (SWCVs) and Proxy Objects included in the Namespaces.

Check if you can view the SWCVs from ESR. SWCVs and other objects are available in SPROXY
Check if you can view the SWCVs from ESR in SPROXY transaction.

Test Communication Channels via Runtime Monitor.

Go to Configuration Monitoring Home > Adapter Engine > Communication Channel Monitor and ping the Sender and Receiver Communication Channels.

Ping Communication Channels via Adapter Monitor. Ping results are successful
Ping Communication Channels via Adapter Monitor.

I hope you will set up connectivity between SAP PI/PO and SAP ABAP back-end system easily with the help of this guide. Moreover, you can also learn how to implement Inbound ABAP Proxies and Fault Messages in my other articles. If you have any questions on the configuration steps or settings, please leave a comment below.

Encode Message Payload to Base64 on CPI!

How to use Base64 message encoder in SAP Integration Suite.

Subscribe for more

My First Interface on CPI!

Learn how to develop your first iFlow on SAP Integration Suite within 7 minutes!

Subscribe for more

28 thoughts on “Complete Proxy Configuration Guide for SAP PI/PO and ECC

  1. Nagamalleswara Rao says:

    It’s great document to help the newbies .Its wonderful and very clear doc to configure the proxy settings.Moreover I requesting you to expose one article regarding java mapping in a clear manner as you had explained above article to the newbie

  2. Sandeep says:

    Veey Good explanation Isuru Sir..
    I have one query ..in step6 under Logon Data( Username & Password) which system(PI/PO or ECC) credential we should put there and who will provide that credential to us.

  3. Hari says:

    Hello Isuru,

    I am looking for a ECC to TM SAP PO configuration step by step guide. Do you have any material. My SAP PO consultant is struggling to get this configuration done for more than a week and not sure what he is missing.

    Regards,
    Hari

      • Victor says:

        HMRC message triggering fails from HR(7.5) to PO 7.5

        We have configured connection from SAP HR (abap) to SAP PO (7.5).

        All basis setup, proxy generation and PO configuration completed.

        When HR team triggering testing from HR system is not reaching PO system.

        We are getting below error.

        http://sap.com/xi/XI/Message/30” xmlns:SOAP=” http://schemas.xmlsoap.org/soap/envelope/“>XIServerCLIENT_RECEIVE_FAILEDConfiguration error on Adapter-Framework(AFW)-Servercom.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn’t retrieve inbound binding for the given P/S/A values:

        Error while receiving by HTTP (error code: Configuration error on Adapter-Framework(AFW)-Server, error text: com.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn’t retrieve inbound binding for the given P/S/A values:

        Our issue when HR team trigger some input from HR system, it is not reaching PO system. Where as when ABAP team go to particular Interface in SPROXY tcode of HR system and trigger some message , we received data in PI.

        I have configured BASIS side settings as per the below link.

        https://sapintegrationhub.com/pi-po/proxy-pi-po/complete-proxy-configuration-guide-sap-pi-po-ecc/

        Kindly check and tell any other thing need to do it ?

        Also anything we need to activate in SICF tcode ?

  4. Umesh Kumar says:

    Hi Isuru,

    I am working on SAP PO 7.5 version and Backend S/4 HANA 1909 and have requirement of proxy in my current scenario.
    As SAP PO 7.5 on Single stack(Java) . Can we use same step of SPROXY configuration provide by you .

    Thanks

  5. Sifiso says:

    Hi Gurus,

    Mine is a Abap Proxy to PO (7.5) to a File.
    I have done the Abap proxy program and runs successfully, the challenge in SXMB_MONI I get the error below….

    XIProxy

    INTERFACE_REGISTRATION_ERROR

    ifmmessif

    SI_HIMS_O

    http://transnet.net/Time&Attendence/

    No implementing class registered for the interface (ABAP interface, request message SI_HIMS_O, request message, namespace http://transnet.net/Time&Attendence/)

    M

    </SAP:Error

    What causes this error, is it SXMB_ADM, cant seem to figure out what causes this error?

    Kind Regards,
    Sifiso

  6. Prameela says:

    Hi Isuru,
    Thanks for the info.. It is very useful for our PI7.3 to PO7.5 migration. Can you please help us in step by step NWBPM configuration in PO7.5.

    Thanks & Regards,
    Prameela P

  7. Rene Dong says:

    Hi Isuru,
    the customer has 3 level systems: DEV, QA and PROD. and 2 levels PI systems: PID and PIP.
    How should we configure the proxy connection?
    We must do the same configuration in the 3 SAP systems?
    Now we are doing migration. Actually the customer has 2 set PI systems: XID & XIP except PID & PIP. It could be more complicated?
    Thanks and

  8. Aamir Khan says:

    Hi Isuru,

    I found this blog a very well explained one. It will definitely help those who are new in PI/ PO.
    Keep posting.

  9. Shastry says:

    We must do the same configuration in the 3 SAP systems? Or can we have the option to transport from DEV, QA, and Prod systems the configuration?

  10. Sreenadh says:

    I am thankful for this valuable blog.

    We have configured connection from SAP ECC to SAP PI & PO (7.5).

    All basis setup, proxy generation and PO configuration completed.

    When test message triggered from ECC system is not reaching to PO system and in ECC side sxmb_moni it is showing the below error.

    http://sap.com/xi/XI/Message/30” xmlns:SOAP=” http://schemas.xmlsoap.org/soap/envelope/“>XIServerCLIENT_RECEIVE_FAILEDConfiguration error on Adapter-Framework(AFW)-Servercom.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn’t retrieve inbound binding for the given P/S/A values:

    Error while receiving by HTTP (error code: Configuration error on Adapter-Framework(AFW)-Server, error text: com.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn’t retrieve inbound binding for the given P/S/A values:

    When we try to send test data using SPROXY code also showing the same error.

    Kindly check this and tell any other thing need to do?

  11. Sreekanth says:

    Hi isuru,

    when I create prefix Poth (XISOAPAdapter/MessageServlet?ximessage=true). it is not accusable. I’m getting a error like ‘QUERY STRING NOT ALLOWED’. can you tell me how to resolve the error

  12. Antonio says:

    Hello, thank you for all that valuable information.

    I got here because I am looking for how to update the structure of the abap proxy on the sap ecc side when any modification is made to the structure of the interfaces on the PO side.

Leave a Reply

Your email address will not be published. Required fields are marked *