我已经编写了一个Http服务来从服务器获取数据,但当我尝试运行该服务时,它给我带来了错误(#2096)。以下是我的代码:
package
{
import flash.net.URLRequestHeader;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.messaging.AbstractConsumer;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.http.HTTPService;
public class JSONDataLoader
{
private var httpService:HTTPService;
private var errVO:ErrVO;
[Bindable]
public var errAC:ArrayCollection = new ArrayCollection();
[Bindable]
public var errStr:String;
public function JSONDataLoader(url:String)
{
httpService = new HTTPService();
httpService.url = url;
httpService.method = "POST";
httpService.contentType = "application/json";
var headerParams:Object = new Object();
headerParams["Host"] = "192.168.11.59:3333";
headerParams["Content-Length"] = 347;
httpService.headers = headerParams;
var parameters:Object = new Object();
parameters["FromDate"] = "01-01-2013 18:30";
parameters["Location"] = "String content";
parameters["LocationId"] = 2147483647;
parameters["ReportId"] = 9223372036854775807;
parameters["ReportName"] = "String content";
parameters["Team"] = "17,22,30,1,40,53,55,69,70,73,77";
parameters["TeamId"] = 2147483647;
parameters["ToDate"] = "01-01-2013 18:30";
httpService.send(parameters);
httpService.addEventListener(ResultEvent.RESULT, resultHandler);
httpService.addEventListener(FaultEvent.FAULT, faultHandler);
}
private function resultHandler(event:ResultEvent):void
{
var rawData:String = String(event.result);
var obj:Object = JSON.parse(rawData);
Alert.show("Data: " + rawData);
}
private function faultHandler(event:FaultEvent):void
{
errStr = event.fault.faultString+" "+event.message;
Alert.show("Error!!!" + errStr);
}
}
}
我在这儿干什么。我的头或请求正文有问题吗。
请帮帮我,因为我在过去的两天里一直被困在这里。
这是完整的错误消息。。。
错误!!!错误#2096(mx.messageing.messages:HTTPRequestMessage)#0body=(对象)#1起始日期="2013年1月1日18:30"Location="字符串内容"位置Id=2147483647报告Id=9223372036854776000ReportName="字符串内容"团队="17,22,30,1,40,53,55,69,70,73,77"团队ID=2147483647截止日期="2013年1月1日18:30"clientId=(null)contentType="application/json"destination="默认HTTP"headers=(对象)#2DSEndpoint="direct_http_channel"httpHeaders=(对象)#3内容长度=347主机="192.168.11.59:3333"messageId="C130487E-0EBA-375E-E71D-A580EFE175EE"method="POST"recordHeaders=false时间戳=0timeToLive=0url="my url"
您可能需要检查参数的内容是否包含非法字符,如'<'或'>'。将它们替换为'&l t;'或'&g t;'(没有空格)可以解决问题。
当HttpService发送或接收包括这两个标记的字符串时,可能会发生错误。
使用URLRequest将是一个更好的选择,因为它将不存在这个问题。