使用PHP SoapClient与本地WSDL文件(NON-URI)的任何解决方法?

前端之家收集整理的这篇文章主要介绍了使用PHP SoapClient与本地WSDL文件(NON-URI)的任何解决方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个应用程序在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');

猜你在找的PHP相关文章