1

我正在尝试使用简单的 PHP 脚本从我的 GAE 帐户连接到 Amazon Web Services。但是,第一行抛出一个错误:

$wsdlURI = ' http://www.webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl '; $soapClient = new SoapClient($wsdlURI);

我收到此错误:SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://.....'failed to load external entity

当我在上面的 URL 上做一个简单的 file_get_contents 时,它工作得很好。只有 SoapClient 无法获取 wsdl 文件的句柄……而且只有 GAE 似乎有这个问题。我在另一台服务器上尝试了相同的代码,一切正常。

我错过了 GAE 中的任何设置吗?

4

3 回答 3

2

这也与默认情况下禁用加载外部实体的加载有关,您需要启用它才能使其正常工作。

首先,您必须创建一个包含此行的 php.ini 文件:

google_app_engine.enable_functions = "libxml_disable_entity_loader"

然后,您在通话前添加以下内容。

libxml_disable_entity_loader(false);

要让 SoapClient 使用套接字应用程序工作,还需要启用计费。

于 2013-12-29T02:18:53.600 回答
0

此问题可能与此相关:https ://code.google.com/p/googleappengine/issues/detail?id=9858 。看起来 SOAP 需要套接字支持,这还不是 PHP 运行时的一部分。

于 2013-10-31T05:29:06.973 回答
0

检查您是否激活了以下扩展:php open ssl 和 php soap client。

于 2013-12-27T18:06:34.293 回答