トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   サーバ関連【CGI・FCS・XMLSocket etc】
     XML-RPC 通信
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
cazy06
Åê¹ÆNo.38277
投稿日時: 2008-3-31 10:39
新米
居住地:
投稿: 2
使用環境:
Windows XP, Flash CS3
XML-RPC 通信
ActionScript3で、XMLRPCを利用したデータ通信をこころみております。
まずはlocalhostを立てて、そこにxmlを送信してレスポンスを表示させようとしていますがうまくいきません...
サーバー側のXML-RPCはFlash以外からのアクセスには反応しているのでFlashの問題と考えられます。

詳しい方、教えていただけますでしょうか。よろしくおねがいいたします。


--SCRIPT root 1フレーム(ココから)---------------------------------------------------
//ボタンリスナー生成
sendButton.addEventListener(MouseEvent.CLICK, sendData);

//送信メソッド
function sendData(event:MouseEvent):void {

//XMLドキュメントを生成
var xml:XML= new XML();
xml =<methodCall>
<methodName>Accessor.get</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>userid</name>
<value>
<i4>4</i4>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>;

//送信
var request:URLRequest = new URLRequest();
request.method = URLRequestMethod.GET;
request.data = xml;
request.url = "http://localhost:xxxx/xmlrpc";
navigateToURL(request, "_blank");
}

--SCRIPT root 1フレーム (ココまで)
-----------------------------------------------


ニノミヤ カズノリ
Åê¹ÆNo.38286
投稿日時: 2008-3-31 20:28
職人
居住地: 東京
投稿: 430
使用環境:
CS4
.4.11, .5.7
XP Pro(sp3)
Flash Player 10,0,22,87,
AIR 1.5.1,
IE 5.5 & 6 & 7 & 8,
Firefox 2.0.0.20 & 3.0.11 & 3.5,
Opera 9.64,
Safari 4,
Google Chrome 2.0.172.31,
Netscape 7.1
Re: XML-RPC 通信
引用:
cazy06さんは書きました:
まずはlocalhostを立てて、そこにxmlを送信してレスポンスを表示させようとしていますがうまくいきません...

どの様にうまく行かないのでしょうか?
新規ウィンドウにレスポンスが返らず、何も表示されないのでしょうか。

xml-rpcは詳しくありませんが、気になった点が一つ。

リクエストメソッドがGETになっていますが、
Flashで無い場合だと正常にレスポンスが返ってくるのでしょうか?
cazy06
Åê¹ÆNo.38289
投稿日時: 2008-4-1 12:01
新米
居住地:
投稿: 2
使用環境:
Windows XP, Flash CS3
Re: XML-RPC 通信
コメントありがとうございます。

>リクエストメソッドがGETになっていますが、
>Flashで無い場合だと正常にレスポンスが返ってくるのでしょうか?

ご指摘のとおり、ここはPOSTにすべきでした。

うまくいかない症状としては、開かれる新規ウィンドウにサーバーのエラーメッセージ画面(サポートされていない関数です、など)が表示される状態でした。

また、navigateToURLの機能を十分理解していなかったようで、XML-RPC通信ではHTTPで戻り値が返され、その戻り値を表示したかったのですがそのようなメソッドではないようですね。。

以下の内容に修正したところflashのオブジェクトに対して読み込ませることはできました。

-----ココカラ-------------------------------------------------
//ボタンリスナー生成
sendButton.addEventListener(MouseEvent.CLICK, sendData);
//送信メソッド
function sendData(event:MouseEvent):void {
//XMLドキュメントを生成
var xml:XML= new XML();
var Loader:URLLoader = new URLLoader();
var valiables:URLVariables = new URLVariables();
xml =<methodCall>
<methodName>getXXXX</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>userid</name>
<value>
<i4>4</i4>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>;
//送信
var request:URLRequest = new URLRequest();
request.method = URLRequestMethod.POST;
request.data = xml.toXMLString();
request.url = "http://localhostxxxxx/xmlrpc";
//sendToURL(request);
Loader.addEventListener(Event.COMPLETE, completeHandler);
Loader.load(request);
Loader.data = xml.toXMLString();
Loader.dataFormat = URLLoaderDataFormat.VARIABLES;
trace(request.data);
}
function completeHandler(event:Event):void {
var Loader:URLLoader = URLLoader(event.target);
var variables:URLVariables = new URLVariables(Loader.data);
indicater.text=decodeURIComponent(decodeURI(XML(variables)));
}

------ココマデ-----------------------------------------------------





ニノミヤ カズノリ
Åê¹ÆNo.38290
投稿日時: 2008-4-1 12:14
職人
居住地: 東京
投稿: 430
使用環境:
CS4
.4.11, .5.7
XP Pro(sp3)
Flash Player 10,0,22,87,
AIR 1.5.1,
IE 5.5 & 6 & 7 & 8,
Firefox 2.0.0.20 & 3.0.11 & 3.5,
Opera 9.64,
Safari 4,
Google Chrome 2.0.172.31,
Netscape 7.1
Re: XML-RPC 通信
引用:
cazy06さんは書きました:
また、navigateToURLの機能を十分理解していなかったようで、XML-RPC通信ではHTTPで戻り値が返され、その戻り値を表示したかったのですがそのようなメソッドではないようですね。。

正常に値が返ってくるのであれば、新規ウィンドウに表示されると思いますよ。
試しに私が使っているmovable typeでXML-RPCを使ってみましたが、
レスポンスが返り、xmlが表示されました。

【追記】
あ、Flashに返そうとしていたんですね。
失礼しました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops