无法在HTTPServiceWrapper中设置RequestHeaders(actionscript 3)

时间:2011-07-30 10:56:36

标签: actionscript httprequest

我使用Flash Builder 4中的数据中心开发功能创建了一个HTTPService。出于某种原因,我无法为HTTP GET请求设置请求标头。我已经尝试为mx.rpc.http.Operation设置头文件对象;但是,它似乎不起作用。数据包嗅探器显示请求标头未被更改。

例如,此处是gettour服务的一部分:

 public class GetTourService extends _Super_GetTourService
  {
     /**
     * Override super.init() to provide any initialization customization if needed.
     */
    protected override function preInitializeService():void
    {
      super.preInitializeService();
      // Initialization customization goes here

      var header:URLRequestHeader = new URLRequestHeader( "Accept", "application/json");
      var headers:Array = new Array();
      headers.push(header);

      var o:Object = this._serviceControl.getOperation( "gettour");
      var operation:Operation = o as Operation;
      operation.headers = headers;
    }
}

但是,数据包嗅探器显示Accept标头为"接受: / \ r \ n"。在AIR中,我遇到类似问题的长默认接受值列表,并且不能将Accept值设置为" application / json"。我错过了什么?

非常感谢任何帮助。谢谢!

编辑:今天早上我找到了答案。而不是

headers.push(header);

我用过

标题["接受"] =" / application / json&#34 ;;

这很有用。

1 个答案:

答案 0 :(得分:0)

由于the documentation对此有点模糊,我将采取猜测。根据文档,headers是自定义标头的对象,因此传递索引数组可能无法正常工作。尝试传递已定义的Object:

operation.headers = {Accept:"application/json"};