2012年04月16日

PHPでSOAPを使ってみる

PHPでSOAP通信を行う方法を紹介します。
クライアントからサーバーの関数を実行することができます。
注意点としてSOAPはUTF-8で通信を行います。

◆クライアント(soap_server.php)
$location = 'http://localhost/test/soap_server.php';  // サーバーURL
$uri = 'http://localhost/test/';

try {
$client = new SoapClient(null,array(
'location'=> $location,
'uri' => $uri,
'trace' => 1
));

$result = $client->hello(mb_convert_encoding("なまえ", 'utf-8'));
echo mb_convert_encoding($result, mb_internal_encoding(), 'utf-8');

$user = new stdClass();
$user->name = mb_convert_encoding("はろーわーるど", 'utf-8');
$user->url = 'http://localhost/';
$result = $client->helloByObj($user);
echo mb_convert_encoding($result, mb_internal_encoding(), 'utf-8');

}
catch (Exception $e) {
}

◆サーバー(soap_server.php)
mb_internal_encoding('utf-8');
mb_http_output('utf-8');

//関数
function hello($nm){
return 'こんにちは、' . $nm . ' さん!';
}

function helloByObj($obj){
return 'こんにちは、' . $obj->name . ' さん!';
}

// SOAPサーバオブジェクトの作成
$server = new SoapServer(null, array('uri' => 'http://localhost/test/'));

// サービスの追加
$server->addFunction('hello');
$server->addFunction('helloByObj');

// サービスを実行
$server->handle();



PHP ブログランキングへ
タグ:PHP soap
posted by ブログ管理者 at 23:01| Comment(0) | TrackBack(0) | SOAP | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/264936451

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。