多くの場合、非オブジェクト指向プログラマは、SOAP 機能を PHP スクリプトに統合するときに課題に遭遇します。 WSDL ファイルがあるにもかかわらず、SOAP 呼び出しを呼び出すための正しい構文に苦労する可能性があります。
クライアントとして SOAP サービスと対話するには、SoapClient クラスを利用できます。 。まず、WSDL ファイルの URL を使用して SoapClient のインスタンスを作成します。
$client = new SoapClient("http://example.com/webservices?wsdl");
使用可能な関数と型に関する情報を取得するには、次を使用します。
var_dump($client->__getFunctions()); var_dump($client->__getTypes());
ここで、SOAP 呼び出し自体の構築に焦点を当てましょう。次のデータを使用して「Function1」関数を呼び出したいとします:
WSDL ドキュメントは、Contact が 2 つのプロパティ (id と name) を持つ複合型であることを示しています。
必要なデータで SOAP 呼び出しを行うには、次のようにします。次の構文を使用する必要があります:
$params = array( "Contact" => new Contact(100, "John"), "description" => "Barrel of Oil", "amount" => 500, ); $response = $client->__soapCall("Function1", array($params));
このコードは、指定された ID を持つ Contact クラスの新しいインスタンスを作成し、 名前。次に、リクエスト パラメータを $params 配列にアセンブルし、__soapCall を使用して SOAP 呼び出しを呼び出します。
SOAP サービスからの応答は $response 変数に格納されます。応答を検査して呼び出しの結果を取得できます。
以上がPHP の SoapClient を使用して SOAP Web サービスと統合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。