現在の位置: ホーム> 最新記事一覧> PHPでSOAP APIを作成する方法:詳細なチュートリアルとサンプルコード

PHPでSOAP APIを作成する方法:詳細なチュートリアルとサンプルコード

gitbox 2025-06-15

SOAP APIの紹介

SOAP(Simple Object Access Protocol)は、構造化された情報を交換するために使用されるXMLベースのプロトコルであり、Webサービスの作成時に広く使用されています。 SOAP APIは、異なるオペレーティングシステムとプログラミング言語間の相互作用を可能にし、複数のプロトコルと標準をサポートできます。

この記事では、PHPを使用してSOAP APIを作成して、SOAPプロトコルの基本操作を理解する方法を示します。

前提条件

SOAP APIの書き込みを開始する前に、次の基本が役立ちます。

  • 石鹸プロトコルの基本的な知識
  • PHPプログラミングの基本

SOAPサーバーを作成します

PHPでSOAP APIを作成するには、最初にサーバー側にSOAPサーバーをセットアップする必要があります。簡単な例を次に示します。

 
// 作成するSOAPサーバ
$server = new SoapServer("example.wsdl");
// 登録するAPI関数
function sayHello($name) {
  return "Hello, " . $name;
}
$server->addFunction("sayHello");
// リクエストの処理
$server->handle();

コードを説明してください

上記のコードでは、SOAPサーバーが最初に作成され、WSDLファイルへのパスが指定されます。 WSDLファイルは、SOAPサービスの機能とインターフェイスを説明します。

次に、パラメーター$ nameを取得して文字列を返す単純なAPI関数「Sayhello」を定義します。最後に、「AddFunction」を介してSOAPサーバーに関数を追加し、「handle()」を呼び出してリクエストを処理します。

SOAPクライアントを作成します

SOAP APIと対話するには、SOAPクライアントを作成する必要があります。クライアントのサンプルコードは次のとおりです。

 
// 作成するSOAPクライアント
$client = new SoapClient("example.wsdl");
// 電話API関数
$response = $client->sayHello("World");
echo $response;  // 出力 "Hello, World"

コードを説明してください

クライアントコードでは、SOAPクライアントを作成し、WSDLファイルへのパスを指定します。次に、「hello」関数をパラメーターと呼び、「world」を渡します。

最後に、返された文字列 `" hello、world "`を出力します。

SOAP APIを使用して複雑なデータ型を渡します

単純なデータ型に加えて、SOAP APIは複雑なオブジェクトと配列を渡すこともできます。これは、オブジェクトをパラメーターとして使用した例です。

 
// 作成する对象
class Person {
  public $name;
  public $age;
}
// 作成するSOAPサーバ
$server = new SoapServer("example.wsdl");
// 登録するAPI関数
function sayHelloToPerson($person) {
  return "Hello, " . $person->name . " (" . $person->age . ")";
}
$server->addFunction("sayHelloToPerson");
// リクエストの処理
$server->handle();

上記のコードでは、 `person`クラスを定義し、2つの属性を含めます:` name`と `age '。次に、「sayhellotoperson」関数を作成します。これは、「人」オブジェクトを受信し、そのオブジェクトの属性を含む文字列を返します。

クライアントは次のような「人」オブジェクトを渡すことができます:

 
// 作成する对象
$person = new stdClass();
$person->name = "John";
$person->age = 30;
// 作成するSOAPクライアント
$client = new SoapClient("example.wsdl");
// 電話API関数
$response = $client->sayHelloToPerson($person);
echo $response;  // 出力 "Hello, John (30)"

コードを説明してください

クライアントコードでは、最初に「人物」オブジェクトを作成し、「名前」と「年齢」プロパティを設定します。次に、SOAPクライアントを作成し、「sayhellotoperson」関数を呼び出してこのオブジェクトを渡し、最後に結果を出力します。

結論は

この記事を通して、PHPを使用してSOAP APIを作成する方法を学びました。 SOAPプロトコルは、クロスプラットフォームWebサービスの開発に強力なサポートを提供し、高いセキュリティと信頼性が必要なシナリオに適しています。ニーズに応じてさまざまな種類のWebサービスを作成し、他のシステムと対話できます。