繁体   English   中英

SOAP错误:解析WSDL:无法从Google App Engine PHP应用程序中的“ http://…”加载

[英]SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://…' in Google App Engine PHP App

我试图使用一个简单的PHP脚本从我的GAE帐户连接到Amazon Web Services。 但是,第一行引发错误:

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

我收到此错误:SOAP错误:解析WSDL:无法从“ http:// .....”加载,无法加载外部实体

当我在上述URL上执行一个简单的file_get_contents时,它就可以正常工作。 只有SoapClient无法获得wsdl文件上的句柄。。。。仅GAE似乎有此问题。 我在另一台服务器上尝试了相同的代码,并且一切正常。

我缺少GAE中的任何设置吗?

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

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

google_app_engine.enable_functions = "libxml_disable_entity_loader"

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

libxml_disable_entity_loader(false);

为了使SoapClient使用套接字应用程序工作,还需要启用计费功能。

该问题可能与以下问题有关: https : //code.google.com/p/googleappengine/issues/detail?id=9858 看起来SOAP需要套接字支持,而这尚未成为PHP运行时的一部分。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM