2010-01-15 108 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发送请求的内容。这可能包含一些关于发生了什么的线索。

希望有所帮助。