gpt4 book ai didi

php - php 命名空间中的 SoapClient 类映射 - 找不到soapfault 类

转载 作者:行者123 更新时间:2023-12-04 16:52:48 24 4
gpt4 key购买 nike

我使用 生成了一组 php 类easyWsdl2PHP 他们工作正常,但是当我将生成的类放在这样的命名空间中时......

namespace myCompany\ourService

然后最初在调用此代码时...
$params = array("classmap"=>self::$classmap,"trace" => true,"exceptions" => true);     
$this->soapClient = new SoapClient($url,$params);

我收到这个错误

Class 'myCompany\ourService\SoapClient' not found



我通过调用 new \SoapClient($url... 来解决这个问题(注意开头的反​​斜杠,转义命名空间),但现在基本上是提示找不到“响应”对象,即我的请求被放置在“销售”对象中并传递给soap调用,错误是像这样

Uncaught SoapFault exception: [Client] Class 'SALEResponse' not found



如何在我的代码中正确使用 php 命名空间,如何在 php 中获取 Soap 以正确使用命名空间?我有两个非常相似的服务需要连接,都使用“sale”方法,以及许多其他不兼容的常用命名元素,因此将它们放在 php 命名空间中似乎是一个很好的解决方案,因为代码是生成的,我可以重命名每个 SaleService1_SaleService2_Sale ,但这远非理想。有什么帮助吗?

最佳答案

我找到了一个解决方案:

private static $classmap = array('SALE'=>'ourCompany\ourService\SALE'
,'SALEREQUEST_V1'=>'ourCompany\ourService\SALEREQUEST_V1'
,'AUTHORIZATION_V1'=>'ourCompany\ourService\AUTHORIZATION_V1'
,'RECEIPTREQUEST_V1'=>'ourCompany\ourService\RECEIPTREQUEST_V1'
,'SALEResponse'=>'ourCompany\ourService\SALEResponse'
);

我在其中添加了 ourCompany\ourService\包括我正在使用的命名空间。

关于php - php 命名空间中的 SoapClient 类映射 - 找不到soapfault 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18531233/

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