2011-06-22 8 views
0

SoapClientを有効にしていないサーバーからmagentoのWebサービスにログインしようとしています。そこで、私はPearのSOAP_Clientをインストールして使用すると考えましたが、ログイン方法を知ることはできません。Pear SOAP_Clientで認証する方法

私が使用してのSoapClientで

$client = new SoapClient($WSDL); 
$session = $client->login($user, $api_key); 
$response = $client->call($session, $method, $arguments); 

しかし、私は、私は、コンストラクタの$ proxy_paramsで何かを設定する必要があることを集めるSOAP_Client

ためlogin方法にアナログを見つけることができません、しかし、私は索引がすべきものを見つけることができません。

$proxy_params = array(); 
$client = new SOAP_Client($wsdl, true, false, $proxy_params); 
$client->call($method, $arguments) 

答えて

1

私はこれを理解しました。ここにいくつかの要因があります。

  1. のSoapClient、私は呼んでいたログイン用のログイン機能はありません

  2. 様々なMagentoのAPIメソッドは、WSDLで定義されていない定義されているWSDLにコールされ、あなたが提供WSDLによってcallとして定義されたメソッドへの引数リソースメソッド。

    $method = 'catalog_product.info'; 
    $args = array($product_id); 
    
    $client = new SOAP_Client($wsdl, true); 
    $session_id = $client->call(
        'login', 
        array(
         'username'=>$username, 
         'apiKey'=> $pasword 
        ) 
    ); 
    $ret = $client->call(
        'call', 
        array(
         'sessionId'=>$session_id, 
         'resourcePath'=>$method, 
         'args'=>$args 
        ) 
    ); 
    
    $client->call()を使用してSOAP_Clientクラスで定義されているようcallを呼び出すように見えるので、私は最終的なコードは、ことになったSOAPメソッドcall

を呼び出すために$client->call('call')を使用する必要があるので、これは混乱のビットを作成しました

関連する問題