2011-10-13 15 views
0

私は、SOAPファイルを解析するPHPの実例を得たいと思います。基本的なSOAP/PHPの例

ここからの例は、http://www.php.net/manual/en/soapclient.dorequest.phpです。 特にこのスクリプト(以下でコピー)を使う必要はありませんが、学習目的ではかなり理解しやすいはずです。私はこのURLを使っていました(私がグーグルで行ったランダムなリンク):https://www.paypalobjects.com/wsdl/PayPalSvc.wsdl、私はそれを下部にある 'location'と 'uri'の両方に差し込んでみましたが、どちらの場合も動作しませんでした。

本質的に、私はSOAPファイルを解析する目的から学ぶ簡単な短いスクリプトを探しています。

<?php 
function Add($x,$y) { 
    return $x+$y; 
} 

class LocalSoapClient extends SoapClient { 

    function __construct($wsdl, $options) { 
    parent::__construct($wsdl, $options); 
    $this->server = new SoapServer($wsdl, $options); 
    $this->server->addFunction('Add'); 
    } 

    function __doRequest($request, $location, $action, $version, $one_way = 0) { 
    ob_start(); 
    $this->server->handle($request); 
    $response = ob_get_contents(); 
    ob_end_clean(); 
    return $response; 
    } 

} 

$x = new LocalSoapClient(NULL,array('location'=>'test://', 
            'uri'=>'http://testuri.org')); 
var_dump($x->Add(3,4)); 
?> 

答えて

1

これは非常に高度な例であり、チュートリアルとしては間違いです。

まず、サーバーとクライアントを別々のスクリプトで作成します。 SOAPは、2つのエンドポイント間の通信に関するものです。また、PHP SoapClientやSoapServerをサブクラス化せず、そのまま使用してください。

更新:私はちょうどチュートリアルをグーグルで見つけました:serverclient。クライアントとサーバー用の英語チュートリアルが見つかりません。検索したときに発見されたページがPHP SOAP用であることを確認してください。また、nusoap、PHP Zend SOAP(PHP SOAPと非常に似ています)、さらにいくつかの実装があります。また、良い出典はPHPテストですhttp://svn.php.net/viewvc/php/php-src/trunk/ext/soap/tests/

+0

ありがとうございました。私は実際に良いチュートリアルを見つけるいくつかの問題を抱えていた。おそらくあなたは1つを推薦できますか? –

+0

答えへのリンクがいくつか追加されました。 – xmedeko

+0

これらのリンクをありがとうxmedeko。 –