Hi guys, in this article I shared step by step How to send data from backend ERP to external system by call ABAP PROXY Outbound Service Consumer.
Imagine, your business need collect all stock , create XML and send to SFTP thought CPI. In this case, We will config XI Sender adapter from CPI to receive data which send from backend by connection HTTP connection to External server. Kindly focus that this is asynchronous message. It mean no need response.

OK, let’s configure it.
Configuration at Integration Flow (SAP CPI)
For simple example, I just create simple integration just include one XI Sender Adapter and one SFTP Receiver Adapter.

Configuration for XI Sender Adapter




Configuration at SAP Backend
Create connection with TYPE G
T-Code: SM-59

- (1) : Name of connection
- (2) : Connection Type = G
- (3)(4) : Target host and Path Prefix : This is information of integration flow above after deploy. Note : Host no need HTTPS
- If your system use Firewall, You need contact with admin system to open port. And you have config :
- Proxy Host : IP of your proxy server
- Proxy Service : 8080
- Proxy User : User to connect Proxy
- Proxy Password


- (1) : Account to connect CPI
- (2) : Default SSL. Choose Active
Create ABAP Proxy with Type Service Consumer
T-Code: SPROXY
For example, I create one service consumer with type Service consumer and direct OUTBOUND with asynchronous messgae

Press F8 to run test this ABAP Proxy.

In this here, because proxy run with asynchronous, so It just have one tab REQUEST
Configuration Sender/Receiver ID in integration engine
T-Code : SXMB_ADM
Configure Sender/Receiver ID

- (1) : Name of sender/receiver ID
- (2) : Description
- (3) : Component = *
- (4) : Interface Name : This is service interface consumer
- (5) : This is namespace service interface consumer
Configuration integration engine
T-Code : SXMB_ADM
Go to Integration Engine Configuration

- (1) : You have to choose Role of Business System is : Application System
Go to configuration
Add new configure
- Category : RUNTIME
- Parameters : IS_URL
- Subparameter : <Name of Sender/receiver ID>. Ex : CPI_OUT
- Current Value : dest://<Name of RFC connect external>

Test case step by step
Because this is a asynchronous message, so after run SPROXY and COMMIT (Extras -> COMMIT Work), message will be put into queue. We can it in SXMB_MONI.
This is list issue when call proxy
Error while sending by HTTP (error code: 407 , error text: Proxy Authentication Required)
This issue come from connect SM59. Connection cannot connect to external by HTTP. In this case, check connection, firewall and port.

When go to view HTML Error we take issue clearly

HTTP Status Code 200 Received But Error During Response Parsing: No XI Response Received XML element {http://schemas.xmlsoap.org/soap/envelope/}Envelope missing in SOAP message header (SAP XI Extension)
I think this issue com from RFC connection in T-Code SM59. Further to check, I go to T-Code SM59 and take some check by change URL to another which backend can see

URL which I use for this is the same network layer with backend, save and check connection I see that it is very fast. And this time, when click response body tab we will get content the same with content when I run URL from web browser.

OK, let come back our scenario, I run URL of CPI from web browser I will get content as

In this we will get MPL with ID and get that ID search in CPI we will get message from CPI

So, we also expect in RFC Connection (SM59) We receiver the same content in response body. If not, we should be contact with BASIS team to fix this connection issue first.
How to fix this issue
Step 1
- T-Code : SM59.

- Check tab Technical Settings
- (1) : Host CPI
- (2) : Port CPI ( 443)
- (3) : Host name / IP of proxy server (If have)
- (4) : Proxy service : 8080
- (5) : User/Pass connect to proxy ( If have)

- Check tab Login & Security
- (1) : Account access to CPI
- (2) : Active SSL and select SSL in Cert. List (T-Code: Strust)
Step 2 : Add SSL into Backed
- Access host of CPI to download SSL from here

- Go to T-Code : STRUST

Choose certificate which downloaded from last step, after that add into here
Step 3 : Run Connection Test in SM59 and fix issue ICM_HTTP_SSL_CERT_MISTMATCH
- Go to T-Code : SMICM
- Goto -> Trace File -> Display All


With this issue, because parameter icm/HTTPS/client_sni_enabled is FALSE. So we have to go T-Code RZ11, go this parameter and enable it.


Step 4 : RUN RFC connection again


Check on CPI, we also receive message error the same MPL in backend. This is demonstrate that connection from backend to CPI is OK. Cheer !
Run Test End to End this scenario
- Go to ABAP Proxy send data out to CPI
- Check SXMB_MONI

- Check Data Store on CPI. Because of this XI sender adapter, we use data store.

- View message in data store



Summary
OK, in this article I shared step by step How to send data from SAP backend to external by ABAP PROXY through XI sender Adapter in SAP CPI. In this article, I also shared how to check RFC connection type G – HTTP Connection to External System. Thanks for your reading and any advise kindly leave your comment on below this. Thanks!
JOSEPH.
Hi , You have mentioned best effort , it is for synchronous scenarios.
LikeLike