■4006 / inTopicNo.1) |
配列を取得する方法を教えてください |
□投稿者/ りお (3回)-(2007/05/31(Thu) 16:34:37)
|
分類:[C# (Windows)]
お世話になります。
#http://www.phppro.jp/phptips/archives/vol33/#2 を参考に動作確認しています。
●phpソース(上記サイトのコードを引用) <?php require_once('SOAP/Server.php');
function showDatetime($str){ $result = $str." ".date("Y-m-d"); return $result; ←―――――――――――――(1)配列に返したい!! }
$server = new SOAP_Server(); $server->addToMap( 'showDatetime', array('inputString' => 'string'), array('outputString' => 'string') );
if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD']=='POST') { $server->service($HTTP_RAW_POST_DATA); } else { require_once 'SOAP/Disco.php'; $disco = new SOAP_DISCO_Server($server,'showDatetime'); header("Content-type: text/xml"); if (isset($_SERVER['QUERY_STRING']) && strcasecmp($_SERVER['QUERY_STRING'],'wsdl')==0) { echo $disco->getWSDL(); } else { echo $disco->getDISCO(); } exit; } ?>
●C#ソース using System; using System.Collections; using System.Collections.Generic; using System.Text;
namespace test { class Program { static void Main(string[] args) { try { //Webサービスの戻り値 string strDATE;
//Webサービスのインスタンス localhost1.showDatetimeService wsMyService = new localhost1.showDatetimeService();
//Webサービスの呼び出し strDATE = wsMyService.showDatetime("");
//結果の表示 Console.WriteLine("テスト結果:" + strDATE); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } }
●実行結果********************************* テスト結果: 2007-05-31 続行するには何かキーを押してください . . . *******************************************
上記のように、リターンが文字列の場合、実行結果が正常なことは 確認できました。
ここから質問なのですが、phpから配列を取得する方法が分かりません。
phpソースの(1)部分を下のようにarrayで実行すると・・・ return array('TEST01' => 'aaaaa', 'TEST02' => $result); ●実行結果********************************* XML ドキュメント (13,61) でエラーが発生しました。 続行するには何かキーを押してください . . . ******************************************* のようにエラーになってしまいます。
どこがダメなのでしょうか。。 ご教示いただきたく宜しくお願いいたします。
|
|