2016-03-09 35 views
1

我想消費一個遠程web服務,但它不工作,我是新來的dr​​upal。下面 是我的代碼:Drupal 8找不到SoapClient類

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);  
    } 
} 

這給了我下面的錯誤

Fatal error: Class 'Drupal\mymodule\mymoduleapi\SoapClient' not found in C:\wamp\www\drupalnew\modules\

所以我做錯了什麼?我已經檢查了Soap擴展,並在drupal之外進行了測試,發現它工作正常。

感謝

回答

1

SoapClient的是全局命名空間,所以從你自己的命名空間,使用「\」中在類名的前面訪問它時,如:

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

更多信息Here

0

您可以將您的命名空間後添加使用命令:

use \SoapClient; 

例如

namespace Drupal\module_name\Plugin\Block; 

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