2011-10-25 2 views
2

私はSoapClientオブジェクトを作成するブラウザから呼び出すスクリプトを用意しています。次のリクエストのためにSoapClientを保存する -

SoapClientオブジェクトを保存して、ブラウザでスクリプトを実行したときに再び使用できるようにしたいとします。

私が達成したいのは、もう一度接続して以前の接続を使用しないことです。

セッションで保存しようとしましたが、属性sdlの値を失うSoapClientオブジェクトです。 ここに説明されていますhttps://bugs.php.net/bug.php?id=36395

他にも実装方法はありますか? PHP manual pageとして

+0

いくつかの低レベルソケットを使用し、できるだけ長く開いたままにしてください。 –

+0

これを解決するために使用する用語は、['PHP persistent SoapClient'](http://www.google.com/search?q=php+persistent+soapclient)です - キーワードは '['永続的](http://www.google.com/search?aq=f&gcx=c&sourceid=chrome&ie=UTF-8&q=persistent#hl=en&q=persistent&tbs=dfn:1&tbo=u&sa=X&ei=7pCmTu_zDoyLswa-qtn0DQ&ved=0CC4QkQ4&fp=1&biw = 1280&bih = 892&bav = on.2、または.r_gc.r_pw。、cf.osb&cad = b) '。その検索で私は[このページ](https://bugs.php.net/bug.php?id=30498)(3番目の結果)を表示しました。 – DaveRandom

答えて

0

は言う:多くの組み込みのことをPHPオブジェクト

注意をシリアライズすることはできません。

いくつかの例外がありますが、私はSoapClientとは思えません。とにかく私は正直なところ、あなたがパフォーマンス上の理由でそれをしたいと思う理由を考えることができません。それはおそらく、すべてのリクエストでSoapClientクラスをインスタンス化するよりも直列化/非直列化を行う方が効率的ではないでしょう。

WSDLからSoapClientをインスタンス化するのはかなり簡単です。これを行うだけの方がよいでしょう。あなたはあなたのためにそれを行うためのいくつかのヘルパー関数を書くことができます。

+0

の代わりに、私はカールを使ってみました。そしてそれは石けんよりも速いです...しかし、それはまだ長くかかります。私は、マゼンタを使用しており、これの初期設定が時間を費やしていることを認識しました。単純なPHPファイルへの接続は非常に高速です。どのように私はそれを避けることができる任意のアイデア。 – pankaj

+0

Magentoが提供するWebサービスを利用しているアプリケーションがありますか? Magentoについてはそれほど分かりませんが、SoapClientを起動するだけで時間がかかることがわかっている場合、Magento側のWSDLはどのように生成されますか?それは静的なファイルか動的に生成されますか?静的なWSDLからSoapClientを設定するのは、通常は迅速です。リモートサービスへの実際の呼び出しは遅くなる可能性がありますが、消費側では解決しません。 – poisson

関連する問題