私は初めてSOAPを使用しています(しかし、私はPHPでかなり役に立ちます)。私の問題は、大きなxmlをsoap(50 MB以上の大きさ)で送信するサーバに接続し、PHPのSoapClientがxmlを解析するために使用するものはわかりませんが、スクリプトが不安定になる恐れがありますメモリ。PHP SoapClientはファイルへの応答を書き込みます
SOAPレスポンスをファイルに書き込んで、あまりにも多くのメモリを使用することはできませんか?それとも脅威ですか?
通常、私はファイルへのレスポンスを書いてXMLReaderでそれを読んでいますが、今はただ応答を解析します。
私はあなたはそれがすでにメモリ上の一部のスペースを占有しています別のファイルでそれを書くことができますし、さらに悪いことには、プロセスの多くを行う、代わりにメモリ上でより多くのスペースを占有する前に、私が思うことを恐れている$client = new SoapClient("http://....wsdl",array(
'login' => 'test',
'password' => 'test'));
$something = $client->__soapCall('getThings',array());
var_dump($something);
die();
SoapClientを継承し、サーバーからのxml応答を受け取った関数をオーバーライドして、必要なものをすべて実行できるようにする方法はありますが、このオブジェクトにも慣れておく必要があります彼らがどのようにオブジェクトのために働くか)。 –
@colightoそして、クラスについての詳細はどこにありますか?多分その定義を得るでしょうか?私はphp.netを試みましたが、それはあまり役に立ちませんでした –
このリンクを試すと、このオブジェクトのすべてのメソッドの一覧がhttp://php.net/manual/en/book.soap.php必要になります。しかし、とにかくそれがSOAPサービスになるとZend_Soap_Clientオブジェクトを使用しています。これはZendフレームワークのパッケージに含まれています。私はそれがずっと涼しくて使いやすいと信じています。 :) –