SOAP、プロキシクラスの生成

前文:



SOAPは、分散コンピューティング環境の構造化メッセージングプロトコルです。 当初、SOAPは主にリモートプロシージャコール(RPC)の実装を目的としており、名前は短縮されました。SimpleObject Access Protocol-オブジェクトにアクセスするための単純なプロトコル。 プロトコルは、プロシージャを呼び出すためだけでなく、XML形式の任意のメッセージを交換するために使用されます。 プロトコルの最新バージョン1.2の公式仕様では、SOAPという名前は解読されません。 SOAPはXML-RPCプロトコルの拡張です。




だから、プロキシクラスを行う





そこで、どこでWebサービスを使用するかという問題に遭遇しました。

一般的に、PHP5の開発者は、サービスを使用した作業を可能な限り簡素化しました。

SoapClientの導入と使用は簡単です。

<?

$cl = new SoapClient("wsdl");

$cl->functionname();

...







何もありませんが、今回は関数名を知る必要があります。

第二に、いくつかのIDEスレッドでプログラミングする場合、クラスの機能を示す自動コミットがあります

記憶としての機能を覚えるのは馬鹿げているので、私はこの方向に掘り始めました。



しかし、残念ながら何も見つかりませんでした。

私はナシを通して調べましたが、本質的に私を助けるものは何もありません。



その結果、便宜上、メソッド、パラメーター、phpDocを含むクラスを作成するWSDLに基づいてスクリプトを作成することにしました。



たとえば、最も単純なWSDLファイルを設定し、それがクラスジェネレーターを介して簡単に実行される方法を確認します。



通常、次のように記述します(例はここから取られます )。

<?

$cl = new SoapClient("http://www.freewebs.com/jimmy_cheng/CurrencyExchangeService.wsdl");

echo $cl->getRate("us", "russian");

?>









便利で、質問ではありません。 しかし、すべてのWSDL関数を学ぶのは難しいです。



次に、同じwsdlを実行してクラスを取得しましょう。

その結果、次のものを受け取りました。



便利ですか? はい さらに、この機能は以前からVSにありました。



しかし、たとえば、電子メールの有効性をチェックするようにWSDLを設定します

$WSDL = "http://ws.cdyne.com/emailverify/Emailvernotestemail.asmx?wsdl";







IDEでこの賛辞を得ました





あなたのことは知りませんが、この機能は私には十分ではありません。



親愛なる皆さん、自転車を作成しているかもしれませんが、PHPでプロキシクラスが作成されているのを見たことはありませんか? そのようなツールはありますか?

現時点では、すべてをうまく機能させるために、スクリプトを完成させて松葉杖を作成する必要があるためです。



ご清聴ありがとうございました、私は答えを待っています- この方向に進むことは理にかなっていますか? またはすでに持っていますか?

クロスポスト



UPD WSDL ws.cdyne.com/emailverify/Emailvernotestemail.asmx?wsdlにはさらに多くの関数が含まれていますが、PHPは関数のオーバーロードをサポートしていないため、現時点では繰り返しを無視しています。 将来的には、基本的にfuncであるがパラメーターが異なるfucn1、func2、func3を導入します。 ご理解いただきありがとうございます




All Articles