PHP拡張ライブラリ石鹸のための特別な操作を提供し、拡張の使用は、 PHPの石鹸で直接操作することができます。以下は、石鹸の基本的な操作について説明します。
、石鹸拡張使用
PHPの石鹸拡張ライブラリは、SOAPサーバプロトコルを介してデータ交換操作と顧客側を実装しています。php5.0からは、PHPは、石鹸のサポートが付属しています。あなたが最初のSOAP拡張機能をアクティブにするためにPHPのインストールディレクトリに設定ファイルphp.iniを変更する必要があるSOAP拡張機能を使用してください。以下に示すコードの行に見出さPHP.INIファイル、フロントノートを削除(;)。
;拡張= php_soap.dll
変更後は、石鹸の拡張子を有効にするには、Webサーバーを再起動します。石鹸の拡張ライブラリで、メイン
3つのオブジェクトを含みます。
1、SOAPサーバー
定義された関数は、サーバーページを作成する際のSoapServerのPHPと呼ばれ、レスポンスデータを返すことができます。次のようにのSoapServerオブジェクトの構文は次のとおりです作成します。
$石鹸=新しいのSoapServer($のWSDL、$配列);
石鹸の使用に$ WSDLは、WSDLファイルがあった、WSDLが$ WSDLはnullに設定されている場合は、標準形式でWebサービスを記述することで、それは彼らがWSDLモードを使用していないと述べました。$アレイは、情報のSoapServerが配列である属性。addFunctionのSoapServerオブジェクトメソッドは、クライアントと呼ばれることができる関数宣言を決定するために使用されています
構文は次のとおりです。
$ SOAPベース> addFunction($ function_nameが)。
これは、$石鹸のSoapServerのターゲットである、$ FUNCTION_NAMEはあなたが呼び出される必要がある関数の名前です。SoapServerオブジェクトハンドルユーザ入力を処理するための方法と、対応する関数を呼び出し、クライアントプロセスに結果を返します。構文は次のとおりです。
$ SOAPベース>ハンドル([$ soap_request]);
ここで、SOAPは、$ soap_requestはオプションのパラメータである、ユーザの要求情報を示すために使用され、$のSoapServerオブジェクトです。なし$のsoap_request場合は、サーバーは、ユーザーのすべての要求を受け取ると述べました。
2、のSoapClient
SoapClientは、リモートサーバー上のSoapServerページを呼び出し、適切な関数の呼び出しを実装するために使用されます。次のようにのSoapClientオブジェクトの構文は次のとおりです作成します。
$石鹸=新しいのSoapClient($のWSDL、$配列);
ここで、同じパラメータを$とWSDLのSoapServerと$配列。SoapClientオブジェクトの関数呼び出しサーバーページを作成した後のSoapClientのメソッドを呼び出すことに相当し、
次のように作成する構文は次のとおりです。
$ SOAPベース> user_function($のparams);
SoapClientオブジェクトどの、$石鹸で、user_functionは$が関数に渡されたパラメータをparamsは、呼び出されるサーバ側の関数です。
3、にSoapFault
SoapFault石鹸は、訪問中に発生する可能性があり、エラーを生成するために使用されます。次のようにSOAPFaultオブジェクトの構文は次のとおりです作成します。
$障害=新にSoapFault($にfaultCode、faultStringの$)。
$のfaultcodeエラーコードは、ユーザー定義されている、$のfaultStringのは、ユーザー定義のエラーメッセージです。SoapFaultオブジェクトが自動的にサーバーのエラーページを生成し、ユーザがにSoapFaultオブジェクトを作成する時に発生します。場合ソープ訪問を発生するエラーのために、クライアントは適切なエラーメッセージSoapFalut被写体を撮影することによって得ることができます。
クライアントにSoapFaultキャプチャオブジェクトは、以下のエラーコードとエラーメッセージコードによって得ることができる後。
$障害 - >のfaultcode; //エラーコード
faultString $障害 - >; //エラーメッセージ
これは、$障害が以前に作成したオブジェクトにSoapFaultです。
ます。https://www.cnblogs.com/feiyuliu/archive/2012/06/26/2563333.htmlで再現