ホームページ >バックエンド開発 >PHPチュートリアル >PHP5 での WSDL および SOAP 呼び出しの実装プロセス

PHP5 での WSDL および SOAP 呼び出しの実装プロセス

WBOY
WBOYオリジナル
2016-08-08 09:28:331210ブラウズ

1. 基本的な概念

SOAP (Simple Object Access Protocol) シンプル オブジェクト アクセス プロトコルは、分散環境で情報を交換するためのシンプルなプロトコルであり、次の 4 つの部分で構成されます: フレームワークを定義する SOAP エンベロープ (エンベロープ)。メッセージの内容、送信者、受信および処理方法、およびアプリケーションが使用する必要があるデータ型のインスタンスを表すために使用される SOAP エンコード ルール (エンコード ルール) を記述します。 (RPC 表現) は、リモート プロシージャの呼び出しと応答のプロトコルを表します。SOAP バインディング (バインディング) は、基礎となるプロトコルを使用して情報を交換します。

WSDL (Web Service description Language) は、Ariba、Intel、IBM、Microsoft などの開発者によって提案された、XML Web サービスを記述するための標準 XML 形式です。これは、特定の言語に依存しない抽象的な方法で、特定の Web サービスによって送受信される関連する操作とメッセージを定義します。その定義上、WSDL をオブジェクト インターフェイス定義言語として考えることはまだできません。たとえば、CORBA や COM などのアプリケーション アーキテクチャはオブジェクト インターフェイス定義言語を使用します。 WSDL はプロトコル中立性を保ちますが、SOAP へのバインディングのサポートが組み込まれているため、SOAP との切り離せないリンクが確立されます。したがって、この記事で WSDL について説明するときは、通信プロトコルとして SOAP を使用していることを前提とします。

SOAP と WSDL は Web サービスの 2 つの主要な標準ですが、必ずしも接続されているわけではなく、独立して使用することもできます。それらの間の関係は、HTTP と Html の関係に似ています。前者はプロトコル、後者は Web サーバーの記述です。


2. PHP5での設定

PHP 構成ファイル php.ini で、

を見つけます。

リーリー

次に、前にある「;」記号を削除して、Webサービスを再起動します

3. Web サービスのメソッド、パラメーター、データ型をクエリする

地方の電気通信会社の注文入力インターフェイスは http://***.******.com/services/AcceptedBusiness?wsdl です
SoapClient の __geunctions() メソッドと __getTypes() メソッドを使用して、インターフェイス メソッド、パラメータ、およびデータ型
__getFunctions にリストされているインターフェイスのみが、soap によって呼び出すことができます。
ルートディレクトリにコードsoap.phpを作成します

リーリー

ブラウザで http://localhost/soap.php を実行すると、返される結果は次のようになります

リーリー

開発ドキュメントに記載されている使用するインターフェースとなるメソッドintroducedBusinessByStandardInterface(string $xmlStr)があり、パラメータはXML文字列です

さらに、一部のインターフェイスでは SoapHeader 認証について言及されており、これには __setSoapHeaders メソッドを追加する必要があります。詳細については、http://php.net/manual/zh/soapclient.setsoapheaders.php を確認してください。

4. 注文を送信します

このステップでは、開発ドキュメントに従って XML 文字列を結合し、それを導入 AcceptedBusinessByStandardInterface のパラメーターとして渡します

次の内容で acceptbusiness.php を作成します

リーリー

ブラウザで実行後、戻る

リーリー

参考: http://www.cnblogs.com/txw1958/p/php5-soap-wsdl.html

上記では、PHP 5 での WSDL および SOAP 呼び出しの実装プロセスを、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人にとって役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:blog内置变量次の記事:php基础学习笔记(3)