2010-01-15 58 views
0

我在發送xml字符串到HTTPService的Actionscript3(請參閱下面的代碼)時遇到了一些麻煩。基本上,我試圖發送一個georss xml字符串轉換爲另一種格式。我得到一個ioError,並懷疑這個XML對服務解析器造成了巨大的破壞。使用HTTP發送XML字符串在Actionscript 3中發佈

我知道這種方法可能不是最好的,但這是我在哪裏。我願意接受任何和所有建議。

<mx:HTTPService id="testService" url="http://localhost/testservice.ashx" 
    fault="httpFaultHandler(event)" 
    result="httpResultHandler(event)" 
    method="POST" 
</mx:HTTPService> 


private var georss:XML = {A GeoRSS XML Document}  
private var georssString = georss.toXMLString(); 

private function testService():void 
{ 
    testService.cancel(); 
    var params:Object = new Object(); 
    params.layer = 'TestLayer'; 
    params.inputdata = georss; 
    testService.send(); 
} 

回答

1

看起來它可能是因爲你沒有真正傳遞params對象與服務。試試這個:

testService.send(params); 

如果這不是問題,您可以通過啓用日誌記錄來獲取更多信息。

protected function initLogging():void { 
    var t:TraceTarget = new TraceTarget(); 
    t.filters=['*']; 
    t.level = LogEventLevel.ALL; 
    t.includeDate = true; 
    t.includeTime = true; 
    t.includeCategory = true; 
    t.includeLevel = true; 

    Log.addTarget(t); 
} 

只要在您的應用程序啓動時調用initLogging()。您現在應該可以在控制檯上看到大量信息(如果以調試模式運行)。其中的信息將是HTTPService發送請求的內容。這可能包含一些關於發生了什麼的線索。

希望有所幫助。