ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して Oracle 主導の SOAP サービスを作成する (1)_PHP チュートリアル

PHP を使用して Oracle 主導の SOAP サービスを作成する (1)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-15 13:25:16833ブラウズ

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() メソッドを使用して、サービスでホストされる各関数を手動で指定し、関数名をメソッドに渡してクライアントに公開する方法です。

一連の関数名を指定して複数の関数を追加することもできます:
function add($a, $b) {return $a + $b;}$server->addFunction(‘add’);

最後に、次のように、関数名の代わりに特別な定数 SOAP_FUNCTIONS_ALL を渡すことで、定義されたすべての関数をエクスポートできます。 りー

1

http://www.bkjia.com/PHPjc/446686.htmlwww.bkjia.com本当

http://www.bkjia.com/PHPjc/446686.html

技術記事 Web サービスを通じて他のインターネット ベースの Web アプリケーションにデータと機能を提供する機能は、あらゆる主要な開発において急速に不可欠な部分になりつつあります。 Oracle は多くの機能を提供していますが...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。