[PHP-users 35436] Re: WebServiceの簡単なサンプルを作る

TAKAYUKI ARAI t.arai @ grow-sys.com
2010年 12月 4日 (土) 12:06:24 JST


新井です。

行数が間違っているような....エラメッセージだと、
catchで内の
echo "fault:".$e;
を
echo "fault:".$e->faultcode;
とかすれば大丈夫では?

***[ORIGINAL MESSAGE]********************************
表 題: [PHP-users 35433] WebServiceの簡単なサンプルを作る
発信者: can @ da.rmail.ne.jp(can @ da.rmail.ne.jp)様
発信日: Fri, 3 Dec 2010 22:29:12 +0900
宛 先: php-users @ php.gr.jp
同 報: 

はじめまして。
Webサービス(SOAP)の勉強のため、PHPで簡単なサンプルを作っています。
 
ネット上にhelloというフォルダを作り、その中にclient.phpとserver.phpを作成して、client.phpをブラウザで表示したところ、エラーメッセージ
が表示されました。
faultcode:SoapFault exception: [HTTP] Forbidden in D:\CustomerData\webspaces\hoge\hello\client.php:9
 
できるだけシンプルな形にしたつもりなのですが、原因に見当がつかず困っています。
【client.php】---------------------------------------------
$location = "http://".$_SERVER["SERVER_NAME"].dirname($_SERVER["PHP_SELF"])."/"."server.php";
$client = new SoapClient(null,
 array('location' => $location
      ,'uri' => 'urn:SOAP-Sample'
 )
);
try{
 $result = $client->getMessage();
 echo $result;
}catch(SoapFault $e){
 echo "fault:".$e;
}

【server.php】---------------------------------------------------
function getMessage(){
 return 'Hello, World!';
}
$server = new SoapServer(null, array('uri' => 'urn:SOAP-Sample'));
$server->addFunction('getMessage');
$server->handle();

サイトのほうで設定が必要、とか、何か条件を満たしていない、など、ありますでしょうか。
両ファイルともutf-8で保存しています。
ちなみに、エラーとなっている9行目は、「$result = $client->getMessage();」の行です。
 
アドバイス頂ける内容がございましたら、お手数ですがよろしくお願いいたします。
【php info】---------------------------------------------------
●SimpleXML
Simplexml support: enabled
Revision: $Revision: 1.151.2.22.2.46 $
Schema support: enabled
●soap
Soap Client: enabled
Soap Server: enabled
--------------------------------
_______________________________________________
PHP-users mailing list  PHP-users @ php.gr.jp
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3
*****************************************************


PHP-users メーリングリストの案内