Web サービスを通じて他のインターネット ベースの Web アプリケーションにデータと機能を提供する機能は、あらゆる主要な開発に急速に不可欠な部分になりつつあります。 Oracle は Web サービスをホストするためのさまざまな方法を提供していますが、特にすでに PHP を使用して Web アプリケーションを開発している場合、これが常に最も効率的なアプローチであるとは限りません。このマニュアルでは、Oracle をデータのバックエンドとして使用し、PHP を使用して SOAP クライアントとサーバーを開発する手順を段階的に説明します。
この質問に対する答えを本当に理解するには、PHP スクリプト実行のライフ サイクルと、このライフ サイクルに対する Web サーバーの影響を理解する必要があります。このマニュアルでは、それについて段階的に説明します。
必要なコンポーネント
この記事の目的として、出版された書籍に関するいくつかの基本情報を次の CREATE によって作成されるテーブルに保存する非常に単純なデータベース バックエンドを使用します。このステートメントは次のことを意味します:
CREATE TABLE books(isbn VARCHAR(32) PRIMARY KEY,author VARCHAR(50),title VARCHAR(50),price FLOAT); ログイン後にコピー |
このテーブルは SOAP サーバーのデータ ソースとして機能し、SOAP サーバーは必要に応じて 1 つ以上の SOAP クライアントにデータを提供します。実際のアプリケーションではデータベースがより複雑になる可能性がありますが、ここで説明するアプローチは引き続き適用されます。
データベースをセットアップした後 (理想的にはダミー データをデータベースに配置した後)、PHP での SOAP サーバーの開発に必要な作業を詳しく見ることができます。
PHP での SOAP サービスの仕組み
PHP で SOAP サービスを開発するには多くのオプションがあり、そのすべてに SoapServer PHP クラスが関係します。このクラスはすべての PHP ベースの SOAP サービスの中核部分であり、その構文は次のとおりです。
$server = new SoapServer($wsdl [, $options]); ログイン後にコピー |
ここで、$wsdl は、ホストされたサービス; $options は、サービスの作成時に考慮する必要があるすべての設定オプションを含むキーと値のペアのセットです。 WSDL ドキュメントについては後ほど詳しく説明します。ここで、新しい SOAP サービスを作成するときに使用できるオプションを見てみましょう:
◆soap_version: クライアントとの通信時に使用する SOAP プロトコルのバージョン。可能なオプションは、SOAP バージョン 1.1 の場合は定数 SOAP_1_1 、SOAP バージョン 1.2 の場合は SOAP_1_2 です。
◆encoding: この SOAP サービスに使用される文字エンコーディング (つまり、文字列 ISO-8859-1)。
◆actor: この SOAP サービスのロール URI。
◆classmap: WSDL データ型を PHP のクラス名にマップするキーと値のペア自体のセット。このオプションを使用すると、PHP は WSDL で定義されたタイプに基づいて、接続しているクライアントにこれらのクラスをレンダリングします。
したがって、bookman.wsdl という名前の WSDL ドキュメントを使用して SOAP v1.2 プロトコルを使用して SOAP サービスを作成するには、次のようにサーバーを構築する必要があります:
$server = new SoapServer(“bookman.wsdl”, array(‘soap_version’ => SOAP_1_2)); ログイン後にコピー |
プロセスの次のステップは作成サービスメソッド。 PHP では、これは 2 つの主な方法を使用して実行できます。最初の (そして最も柔軟な) 方法は、addFunction() メソッドを使用して、サービスでホストされる各関数を手動で指定し、関数名をメソッドに渡してクライアントに公開する方法です。
一連の関数名を指定して複数の関数を追加することもできます:りー |
http://www.bkjia.com/PHPjc/446686.htmlwww.bkjia.com本当