Drupal 8找不到SoapClient类

时间:2016-03-09 14:19:35

标签: php soap drupal drupal-modules soap-client

我正在尝试使用远程Web服务,但它不起作用,我是drupal的新手。 下面是我的代码:

namespace Drupal\mymodule\mymoduleAPI;
class RemoteConnection {

  public function create() {

    $default = array( 
            // We shall only enable TRACING & EXCEPTION for dev 
            'trace' => 1, 
            'exceptions' => true, 
            'cache_wsdl' => WSDL_CACHE_NONE, 
            'features' => SOAP_SINGLE_ELEMENT_ARRAYS,
        );


    $myServerEndPointUrl = "wsdl server address";
    return new SoapClient($myServerEndPointUrl , $default);     
  }
}

这给了我以下错误

  

致命错误:未找到类'Drupal \ mymodule \ mymoduleapi \ SoapClient'   在C:\ wamp \ www \ drupalnew \ modules \

我做错了什么?我已经检查了Soap扩展并在drupal之外进行了测试,发现它工作正常。

由于

2 个答案:

答案 0 :(得分:2)

SoapClient位于全局命名空间中,因此当从您自己的命名空间中访问它时,请使用' \'在类名前面,如:

return new \SoapClient($myServerEndPointUrl , $default); 

更多信息Here

答案 1 :(得分:0)

您可以在命名空间后添加use命令:

use \SoapClient;

e.g。

namespace Drupal\module_name\Plugin\Block;

use Drupal\Core\Block\BlockBase;
use SoapClient;