通过HTTPS从SAP Web Application Server接收数据

I am trying to receive xml idoc data I from a SAP system. It should get push to me over HTTPS but something is not working. I gave out a ssl certificate and the ip address of the server. I can see the SAP is trying to send me something because I am getting an call from Agent: SAP Web Application Server (1.0;701) but no data is transmitted in GET, POST or FILE.

The SAP system is controlled by someone else. They got this working with some other server so I assume it must be my fault.

Currently my script loges this values: serialize($_GET), serialize($_POST), serialize($_FILES), $_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT'], serialize(apache_request_headers())

Header tells me: content-type: text/xml, content-length: 76702 but I am not getting any content.

What I am doing wrong? How could I dig into this?

Solution is to read HTTP body directly from file_get_contents("php://input"). The data has no variable so it's not getting parsed into any $_POST variable:

<?xml version="1.0" encoding="UTF-8"?><ZSHPMNT05>...

See: http://php.net/manual/en/reserved.variables.httprawpostdata.php

Thought the problem is not very clear but can you please let me know how are you connecting SAP 7.1 system with PHP.

First of all, what need to do on the SAP side to expose a Remote Function Module which can be accessed via RFC. All you need to do is to create a ‘remote-enabled’ Function Module in SAP. This can be done by ticking ‘Remote-enabled module’ under the function module’s attributes. You can write whatever program logic in ABAP in the Function Module. Pay special attention to the Importing and Exporting parameters of the Function Module as these will be what are passed to and from your PHP program.