PHP5.2.5で、WEB APIのようなものを作成したいのです。

といっても、いろいろメソッドを作るのではなく、
単純に、ある日付のデータをMySQLから取り出してXML形式で提供し、リクエスト側がXMLデータを取得する。
という仕組みを作りたいだけです。

どのような仕組みがいいのでしょうか?
header("Content-type: text/xml");
として、Mysqlのデータをecho するだけでいいのかとも思いましたが、
soapというのを見つけました。でもためしにsoapを書いてみると
Fatal error: Class 'SoapServer' not found
となります。
どんな風に作ればいいのかアイデアお願いします

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2008/11/27 15:51:40
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント35pt

SOAP関数を利用するには、まず、SOAP Server Class を記述する必要があります。

具体的なサンプル・スクリプトは「SOAP extensionでSOAP Server - Do You PHP?」をご覧下さい。


なお、XMLでリターンするようなWebAPIを製作するなら、SimpleXML でも十分対応できると思います。

id:cyndy

教えていただいたページのサンプルは動きませんでした。

XMLWriterでやってみたいと思います。ありがとうございます。

2008/11/27 15:50:12
id:goodvn No.2

回答回数228ベストアンサー獲得回数18

ポイント35pt

Webサービスでは,XML を使った受け渡しや,もっと単純なテキストベースのやりとりもあります

SOAP は XML を使ったデータのやり取りの方法のひとつです

エラーメッセイジですが,これは,PEAR::SOAP が導入されていないためです.PEAR::SOAP を導入してください

http://pear.php.net/package/SOAP

たとえば,下記は,今の時間を返すウェブサービスのコードです

<?php

$now = date("Y-m-d H:i:s");

header("application/xml; charset=UTF-8");

print "<xml>\n";
print "<date>";
print $now;
print "</date>\n"
print "</xml>\n";

?>

結果は,

<xml>
<date>2008-11-27 15:01:31</date>
</xml>

のようになります

このコードの場合,データの受け取りは無くて,どんなリクエストでも同じ結果を返します.データを受け取る場合は,受け取ったデータを,XML として解析する仕組みが必要です


個人的には,SOAP は動作が重く,もし PHP 同士なら,serialize,unserialize を使ったテキストデータの受け渡しがいいのかな,と思ってます

id:cyndy

やぱりSOAPができない環境みたいです。レンタルサーバーなのであきらめて、

XMLWriterでやってみたいとオモイマス。ありがとうございました。

2008/11/27 15:51:14

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません