1

我正在尝试xml idoc从 SAP 系统接收数据。它应该通过 HTTPS 推送给我,但有些东西不起作用。我给出了一个 ssl 证书和服务器的 IP 地址。我可以看到 SAP 正在尝试向我发送一些东西,因为我正在接到一个电话,Agent: SAP Web Application Server (1.0;701)但在 GET、POST 或 FILE 中没有传输任何数据。

SAP 系统由其他人控制。他们让这个与其他服务器一起工作,所以我认为这一定是我的错。

目前我的脚本记录了这个值:serialize($_GET), serialize($_POST), serialize($_FILES), $_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT'], serialize(apache_request_headers())

标题告诉我:content-type: text/xml, content-length: 76702但我没有得到任何内容。

我做错了什么?我怎么能深入这个?

4

2 回答 2

3

解决方案是直接从file_get_contents("php://input"). 数据没有变量,因此不会被解析为任何$_POST变量:

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

请参阅: http: //php.net/manual/en/reserved.variables.httprawpostdata.php

于 2012-12-20T11:20:30.233 回答
1

认为问题不是很清楚,但请让我知道您是如何将 SAP 7.1 系统与 PHP 连接的。

首先,在 SAP 端需要做什么来公开一个可以通过 RFC 访问的远程功能模块。您需要做的就是在 SAP 中创建一个“远程启用”功能模块。这可以通过勾选功能模块属性下的“远程启用模块”来完成。您可以在功能模块的 ABAP 中编写任何程序逻辑。请特别注意函数模块的导入和导出参数,因为这些参数会传入和传出 PHP 程序。

于 2012-12-20T10:24:12.540 回答