$wsdl = "https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl";
$soap = new SoapClient($wsdl);
加载WSDL引发错误:PHP SOAP客户端抛出错误,而贝宝
SOAP的错误:解析模式:顺序意外
试图在PHP版本5.3.4,5.3.0
$wsdl = "https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl";
$soap = new SoapClient($wsdl);
加载WSDL引发错误:PHP SOAP客户端抛出错误,而贝宝
SOAP的错误:解析模式:顺序意外
试图在PHP版本5.3.4,5.3.0
的问题是在https://www.paypalobjects.com/wsdl/eBLBaseComponents.xsd这是https://www.paypalobjects.com/wsdl/PayPalSvc.wsdl
的依赖要解决此问题,您可以下载WSDL和它的依赖和手动修复eBLBaseComponents.xsd(除去多余的错误>从底部起的第四行之后)。
1)以下4个文件上的第四行从底部供下载到同一目录
https://www.paypal.com/wsdl/PayPalSvc.wsdl
https://www.paypal.com/wsdl/eBLBaseComponents.xsd
https://www.paypal.com/wsdl/CoreComponentTypes.xsd
https://www.paypal.com/wsdl/EnhancedDataTypes.xsd
2)拆下错误额外 “>” eBLBaseComponents.xsd。
3)将您的更改上传到您自己的主机,或根据您的应用程序在本地存储它们。
4)在您的应用程序中,指向新的固定WSDL。
看来贝宝只接受授权连接到这个SOAP网址。
The PayPal SOAP API service is protected to ensure that only authorized PayPal members use it.
你可以阅读一下here。