gpt4 book ai didi

php - 将 PHP SoapClient 与本地 WSDL 文件(非 URI)一起使用的任何解决方法?

转载 作者:IT王子 更新时间:2023-10-29 00:07:05 26 4
gpt4 key购买 nike

我有一个在 CLI 模式下运行的应用程序,它既没有也不需要运行本地 httpd。应用程序使用 SOAP 与 Web 服务提供者进行传出交互。有问题的提供商存在一些可用性问题,我们正在尝试通过根据他们的建议在本地托管 WSDL 文件来减少问题的数量。

SoapClient 构造函数(在 WSDL 模式下)似乎只能使用 URI WSDL 文件,但我正在尝试找出解决此限制的方法,并让它从本地文件系统中读取 WSDL 文件某种方式。我很惊讶 SoapClient 构造函数没有传递文件名或文本字符串的选项,我之前可以简单地阅读。

有没有人对如何避开这个限制并做我正在尝试的事情提出建议?

最佳答案

SoapClient()采用不仅支持网址,还支持本地文件路径的 URI。但相对路径在这里不起作用,因此它需要是完整的文件路径。

下面介绍了如何使用相对引用加载本地 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 文件的父文件夹中:

new SoapClient(dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'the.wsdl.xml');

关于php - 将 PHP SoapClient 与本地 WSDL 文件(非 URI)一起使用的任何解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22157000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com