我有一个应用程序在CLI模式下运行在既不具有也不需要运行本地httpd的服务器上.该应用程序使用SOAP与Web服务提供商进行外发交互.所提供的提供者有一些可用性问题,我们正在通过在其建议的方式在本地托管WSDL
文件来减少问题的
数量.
看来,SoapClient构造函数(在WSDL模式下)只能使用URI WSDL文件,但是我试图找出一些方法来解决这个限制,并以某种方式从本地文件系统读取WSDL文件.我很惊讶,SoapClient构造函数没有选项可以传递一个文件名或一串文本,我可以在之前简单地读取.
有人有人建议如何回避这个限制,做我正在尝试的?
SoapClient()
采用的URI不仅
支持Web地址,还
支持本地
文件路径.但是相对路径在这里不起作用,所以它需要是完整的
文件路径.
以下是使用相对引用加载本地WSDL文件的方法.如果WSDL与当前PHP文件在同一目录中:
new SoapClient(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'the.wsdl.xml');
或者如果它在当前PHP文件的子文件夹中:
new SoapClient(dirname(__FILE__) . DIRECTORY_SEPARATOR. 'subfolder' . DIRECTORY_SEPARATOR . 'the.wsdl.xml');