PHP で SOAP メッセージを解析および生成する方法
SOAP (Simple Object Access Protocol) は、ネットワーク内での通信に使用されるプロトコルであり、これにより、異なるプラットフォーム上のアプリケーションが XML を使用して構造化情報を交換できるようになります。 PHP では、組み込みの SOAP 拡張機能を使用して、SOAP メッセージを解析および生成できます。
始める前に、PHP 環境で SOAP 拡張機能が有効になっていることを確認する必要があります。この拡張機能は、php.ini 設定ファイル内の extension=soap
行のコメントを解除することで有効にできます。
SOAP メッセージの解析
SOAP メッセージを解析するには、PHP の SoapClient
クラスを使用できます。以下は、SoapClient
クラスを使用して SOAP メッセージを解析する方法を示す簡単な例です。
// 创建SoapClient对象 $client = new SoapClient("http://example.com/soap-service?wsdl"); // 调用远程SOAP方法 $result = $client->SomeSoapMethod($param1, $param2); // 解析返回的SOAP消息 $response = $client->__getLastResponse(); $parsedResponse = new SimpleXMLElement($response);
上記のコードでは、まず SoapClient
オブジェクトを作成します。 SOAP 記述言語 (WSDL) を使用した URL が使用されます。次に、リモート SOAP メソッドを呼び出し、返された SOAP メッセージを $response
変数に保存しました。最後に、SimpleXMLElement
クラスを使用して、SOAP メッセージを単純な XML オブジェクトに解析します。
SOAP メッセージの生成
SOAP メッセージを生成するには、PHP の SoapClient
クラスと SoapVar
クラスを使用できます。以下は、これらのクラスを使用して SOAP メッセージを生成する方法を示す例です。
// 创建SoapClient对象 $client = new SoapClient("http://example.com/soap-service?wsdl"); // 创建参数 $params = array( 'param1' => new SoapVar('value1', XSD_STRING), 'param2' => new SoapVar('value2', XSD_STRING) ); // 生成SOAP消息 $soapMessage = $client->__soapCall('SomeSoapMethod', array($params), array('soapaction' => 'SomeSoapMethod'));
上記のコードでは、最初に、やはり SOAP 記述言語 (WSDL) を使用して、SoapClient
オブジェクトを作成します。 ) URL。次に、SoapVar
クラスを使用して、パラメーターを含む配列を作成しました。次に、__soapCall
メソッドを使用して SOAP メッセージを生成し、それを $soapMessage
変数に保存します。
概要
PHP の組み込み SOAP 拡張機能を使用すると、SOAP メッセージを簡単に解析して生成できます。 SoapClient
クラスを使用して SOAP メッセージを解析および生成し、SimpleXMLElement
クラスを使用して返された SOAP メッセージを解析できます。 SoapVar
クラスを使用して、パラメータを含む SOAP メッセージを生成することもできます。
上記は、PHP での SOAP メッセージの解析と生成の例です。お役に立てば幸いです!
以上がPHP で SOAP メッセージを解析して生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。