PHP SOAP サーバー
PHP と Soap を使用して SOAP サーバーをセットアップするのは非常に簡単です。基本的には、Web サービスに公開したい関数を記述し、それを Soap に登録するだけです。さらに、PHP SOAP サーバーの確立を完了するには webServicephpのsoapとnusoapのサーバーとクライアント間の通信 つの手順が必要です。まず、PHP コードで Soap オブジェクトのインスタンスを作成し、HTTP POST メソッドを使用して元のデータを処理のために Soap に渡す必要があります
SOAP の使用は比較的簡単です。最も一般的に使用されるクラスは SoapServer と SoapClient です。SoapServer は Web サービス サーバーの作成に使用され、SoapClient クラスはクライアントである Web サービスの呼び出しに使用されます。 SOAP は php5 から統合されているため、php.ini で SOAP コンポーネントを有効にするだけで済みます。
Windows を例に挙げます:
webServicephpのsoapとnusoapのサーバーとクライアント間の通信 |
|
Soap实例:
webServicephpのsoapとnusoapのサーバーとクライアント間の通信、首先创建服务端,由于集成后的php5不需要引入任何soap支持文件,直接创建即可,例如访问地址设置为http://webServicephpのsoapとnusoapのサーバーとクライアント間の通信webServicephpのsoapとnusoapのサーバーとクライアント間の通信7.0.0.webServicephpのsoapとnusoapのサーバーとクライアント間の通信/test.php。
0webServicephpのsoapとnusoapのサーバーとクライアント間の通信 0webServicephpのsoapとnusoapのサーバーとクライアント間の通信 03 04 05 06 07 08 09 webServicephpのsoapとnusoapのサーバーとクライアント間の通信0 webServicephpのsoapとnusoapのサーバーとクライアント間の通信webServicephpのsoapとnusoapのサーバーとクライアント間の通信 |
|
至此,soap服务端创建完成。
webServicephpのsoapとnusoapのサーバーとクライアント間の通信、调用刚刚创建的soap服务,同理,由于集成后的php5不需要引入任何soap支持文件,直接调用即可。
webServicephpのsoapとnusoapのサーバーとクライアント間の通信 webServicephpのsoapとnusoapのサーバーとクライアント間の通信 3 4 5 6 7 |
|
ただし、Nusoap は Soap よりも柔軟です。操作プロセスは基本的に同じですが、処理プロセスに若干の違いがあります。最もよく使用されるクラスは、soap_server と nusoap_client です。クラス nusoap_client は、クライアントである Web サービスを呼び出すために使用されます。これら webServicephpのsoapとnusoapのサーバーとクライアント間の通信 つのクラスの定義は lib/nusoap.php にあるため、Web サービス インターフェイス プログラムを作成または呼び出すときにこのファイルを参照する必要があります。
NuSoap は、WebService を作成または呼び出すために使用される、PHP 環境の WebService プログラミング ツールです。これは、HTTP を介して SOAP メッセージを送受信する、完全に PHP 言語で記述された一連の PHP クラスであるオープン ソース ソフトウェアであり、NuSphere Corporation (http://dietrich.ganx4.com/nusoap/) によって開発されています。 NuSOAP の利点の webServicephpのsoapとnusoapのサーバーとクライアント間の通信 つは、拡張ライブラリのサポートを必要とせず、この機能により NuSoap をすべての PHP 環境で使用できるようになり、サーバーのセキュリティ設定の影響を受けないことです。
nusoap ダウンロードを提供します: nusoap-0.9.5
Nusoap インスタンス:
webServicephpのsoapとnusoapのサーバーとクライアント間の通信。最初に行うことは、まだサーバーを作成することです。先ほど、少しずれていると述べたので、これをサーバー上に作成しました。まずはnusoapサポートクラスライブラリを紹介します
0webServicephpのsoapとnusoapのサーバーとクライアント間の通信 0webServicephpのsoapとnusoapのサーバーとクライアント間の通信 03 04 05 06 07 08 09 webServicephpのsoapとnusoapのサーバーとクライアント間の通信0 webServicephpのsoapとnusoapのサーバーとクライアント間の通信webServicephpのsoapとnusoapのサーバーとクライアント間の通信 |
|
この時点で、アドレスが http://webServicephpのsoapとnusoapのサーバーとクライアント間の通信webServicephpのsoapとnusoapのサーバーとクライアント間の通信7.0.0.webServicephpのsoapとnusoapのサーバーとクライアント間の通信/test.php であると仮定して、nusoap サーバーが作成されました。
webServicephpのsoapとnusoapのサーバーとクライアント間の通信. nusoap に電話します。その前に、ここでカプセル化しました。ファイルは class.nuSoapApi.php で、コードは次のとおりです。
0webServicephpのsoapとnusoapのサーバーとクライアント間の通信 0webServicephpのsoapとnusoapのサーバーとクライアント間の通信 03 04 05 06 07 08 09 webServicephpのsoapとnusoapのサーバーとクライアント間の通信0 webServicephpのsoapとnusoapのサーバーとクライアント間の通信webServicephpのsoapとnusoapのサーバーとクライアント間の通信 webServicephpのsoapとnusoapのサーバーとクライアント間の通信webServicephpのsoapとnusoapのサーバーとクライアント間の通信 webServicephpのsoapとnusoapのサーバーとクライアント間の通信3 webServicephpのsoapとnusoapのサーバーとクライアント間の通信4 webServicephpのsoapとnusoapのサーバーとクライアント間の通信5 webServicephpのsoapとnusoapのサーバーとクライアント間の通信6 webServicephpのsoapとnusoapのサーバーとクライアント間の通信7 webServicephpのsoapとnusoapのサーバーとクライアント間の通信8 webServicephpのsoapとnusoapのサーバーとクライアント間の通信9 webServicephpのsoapとnusoapのサーバーとクライアント間の通信0 webServicephpのsoapとnusoapのサーバーとクライアント間の通信webServicephpのsoapとnusoapのサーバーとクライアント間の通信 webServicephpのsoapとnusoapのサーバーとクライアント間の通信webServicephpのsoapとnusoapのサーバーとクライアント間の通信 webServicephpのsoapとnusoapのサーバーとクライアント間の通信3 webServicephpのsoapとnusoapのサーバーとクライアント間の通信4 webServicephpのsoapとnusoapのサーバーとクライアント間の通信5 webServicephpのsoapとnusoapのサーバーとクライアント間の通信6 webServicephpのsoapとnusoapのサーバーとクライアント間の通信 7 webServicephpのsoapとnusoapのサーバーとクライアント間の通信8 webServicephpのsoapとnusoapのサーバーとクライアント間の通信9 30 3webServicephpのsoapとnusoapのサーバーとクライアント間の通信 3webServicephpのsoapとnusoapのサーバーとクライアント間の通信 33 34 35 36 37 38 39 40 4webServicephpのsoapとnusoapのサーバーとクライアント間の通信 4webServicephpのsoapとnusoapのサーバーとクライアント間の通信 43 44 45 46 47 48 49 50 5webServicephpのsoapとnusoapのサーバーとクライアント間の通信 5webServicephpのsoapとnusoapのサーバーとクライアント間の通信 53 54 55 56 57 58 59 6 0 6webServicephpのsoapとnusoapのサーバーとクライアント間の通信6webServicephpのsoapとnusoapのサーバーとクライアント間の通信63646566676869707webServicephpのsoapとnusoapのサーバーとクライアント間の通信7webServicephpのsoapとnusoapのサーバーとクライアント間の通信73747576 7 7787980 8webServicephpのsoapとnusoapのサーバーとクライアント間の通信8webServicephpのsoapとnusoapのサーバーとクライアント間の通信8384858687888990 |
<?php
eLSE
|
从这里开始调用执行过程:
0webServicephpのsoapとnusoapのサーバーとクライアント間の通信 0webServicephpのsoapとnusoapのサーバーとクライアント間の通信 03 04 05 06 07 08 09 webServicephpのsoapとnusoapのサーバーとクライアント間の通信0 webServicephpのsoapとnusoapのサーバーとクライアント間の通信webServicephpのsoapとnusoapのサーバーとクライアント間の通信 webServicephpのsoapとnusoapのサーバーとクライアント間の通信webServicephpのsoapとnusoapのサーバーとクライアント間の通信 webServicephpのsoapとnusoapのサーバーとクライアント間の通信3 webServicephpのsoapとnusoapのサーバーとクライアント間の通信4 webServicephpのsoapとnusoapのサーバーとクライアント間の通信5 webServicephpのsoapとnusoapのサーバーとクライアント間の通信6 webServicephpのsoapとnusoapのサーバーとクライアント間の通信7 webServicephpのsoapとnusoapのサーバーとクライアント間の通信8 webServicephpのsoapとnusoapのサーバーとクライアント間の通信9 |
|
説明:
WSDL
WSDL は、Web サービスを記述するために使用される XML 言語です。これは、サービスにアクセスするために必要なすべての情報を Web サービス クライアントに提供する機械可読形式です。 NuSOAP は、特に WDSL ファイルを解析し、そこから情報を抽出するクラスを提供します。 soapclient オブジェクトは、開発者がサービスを呼び出すのを容易にするために wsdl クラスを使用します。 WSDL 情報を利用してメッセージを作成することにより、プログラマは、それを呼び出す操作の名前とパラメータを知るだけで済みます。
NuSOAP 経由で WSDL を使用すると、次の利点があります:
名前空間、エンドポイント URL、パラメーター名などのすべてのサービス メタファイルを WSDL ファイルから直接取得できるため、クライアントはサーバー側の変更に動的に適応できます。このデータはサーバーから常に利用できるため、このデータをユーザー スクリプトにハードコーディングする必要はなくなりました。
これにより、soap_proxy クラスを使用できるようになります。このクラスは、soapclient クラスから派生し、WDSL ファイルで詳細に説明されている操作に対応するメソッドを追加します。ユーザーはそれを通じてこれらのメソッドを直接呼び出すことができるようになりました。
soapclient クラスには、soap_proxy クラスのオブジェクトを返す getProxy() メソッドが含まれています。 soap_proxy クラスは、soapclient クラスから派生し、WSDL ドキュメントで定義された操作に対応するメソッドを追加し、ユーザーがエンドポイントのリモート メソッドを呼び出せるようにします。これは、soapclient オブジェクトが WDSL ファイルで初期化されている場合にのみ適用されます。長所はユーザーにとっての使いやすさですが、短所はパフォーマンスです (PHP でのオブジェクトの作成には時間がかかります)。この機能は実用的な目的には役立ちません。
0webServicephpのsoapとnusoapのサーバーとクライアント間の通信 0webServicephpのsoapとnusoapのサーバーとクライアント間の通信 03 04 05 06 07 08 09 webServicephpのsoapとnusoapのサーバーとクライアント間の通信0 webServicephpのsoapとnusoapのサーバーとクライアント間の通信webServicephpのsoapとnusoapのサーバーとクライアント間の通信 webServicephpのsoapとnusoapのサーバーとクライアント間の通信webServicephpのsoapとnusoapのサーバーとクライアント間の通信 webServicephpのsoapとnusoapのサーバーとクライアント間の通信3 webServicephpのsoapとnusoapのサーバーとクライアント間の通信4 webServicephpのsoapとnusoapのサーバーとクライアント間の通信5 webServicephpのsoapとnusoapのサーバーとクライアント間の通信6 webServicephpのsoapとnusoapのサーバーとクライアント間の通信7 webServicephpのsoapとnusoapのサーバーとクライアント間の通信8 webServicephpのsoapとnusoapのサーバーとクライアント間の通信9 webServicephpのsoapとnusoapのサーバーとクライアント間の通信0 webServicephpのsoapとnusoapのサーバーとクライアント間の通信webServicephpのsoapとnusoapのサーバーとクライアント間の通信 |
| =
先ほど作成したサーバーURL http://webServicephpのsoapとnusoapのサーバーとクライアント間の通信webServicephpのsoapとnusoapのサーバーとクライアント間の通信7.0.0.webServicephpのsoapとnusoapのサーバーとクライアント間の通信/test.php を実行します。実行後の結果は次のとおりです。
メソッド名をクリックします。このように、サービスに数行のコードを追加することで、NuSOAP を使用してサービスのビジュアル ドキュメントを提供します。しかし、私たちにできることはそれだけではありません。
NuSOAP を使用して、サービスにいくつかの WSDL 呼び出しを追加します。サービス用の WSDL とその他のドキュメントを生成できます。対照的に、少なくともこの単純な例では、クライアントでできることはあまりありません。以下に示すクライアントは、WSDL を使用しないクライアントと変わりません。唯一の違いは、soapclent クラスの解析が、以前のようにサービス エンドポイントの代わりに WSDL の URL を提供することによって行われることです。
NuSoap は WebService を呼び出すときにエンコーディングを設定できます。コード化けの解決策は次のとおりです。 、真);
'utf-8' ; $client | ->decode_utf8 = false;
'utf-8'
|
解決策
webServicephpのsoapとnusoapのサーバーとクライアント間の通信. php を変更します。ini は php5 の組み込みの SOAP 拡張機能 (Windows では php_soap.dll) をロードしません。
現時点では、php5 の組み込み SOAP であっても、nusoap 拡張クラスであっても、Webservice が解決策です。上記の例から、nusoap の方がより柔軟であり、単純な Web サーバー通信の場合は、php5 組み込み SOAP の方が高速です。 、どれを選んでも、どちらかを選択してください。
元のアドレス: http://www.mudbest.com/webservicephp%E7%9A%84soap%E4%B8%8Enusoap%E6%9C%8D%E5%8A%AwebServicephpのsoapとnusoapのサーバーとクライアント間の通信%E7%AB%AF%E4%B8 %8E%E5%AE%AwebServicephpのsoapとnusoapのサーバーとクライアント間の通信%E6%88%B7%E7%AB%AF%E7%9A%84%E9%80%9A%E4%BF%AwebServicephpのsoapとnusoapのサーバーとクライアント間の通信/
上記は、soap と nusoap のサーバーと webServicephp のクライアント間の通信を内容も含めて紹介しました。PHP チュートリアルに興味のある友人の参考になれば幸いです。