2012-04-21 17 views
0

我正在使用由第三方开发人员编写的基于Jetty的REST服务,我必须使用这些第三方开发人员从actionscript 3进行调用。有多个可用电话和大多数他们工作,只有一个我遇到麻烦:要结束一个会话,我必须发出一个POST请求到http://localhost/control/end从as3打电话到REST服务的问题

我做了一个基本的测试与Chrome的Simple Rest Client和工作原理:

  1. 我得到一个状态200响应
  2. 在服务控制台我看到一个setEnd呼叫做出

的问题是,当我在动作中尝试相同时,它似乎不起作用。 这里是我的基本呼叫:

private function deleteSID(event : MouseEvent) : void { 
      var request:URLRequest = new URLRequest(SERVER+"control/end"); 
      request.method = URLRequestMethod.POST; 
      var loader:URLLoader = new URLLoader(); 
      loader.addEventListener(Event.COMPLETE, deletedSID); 
      loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError); 
      loader.addEventListener(HTTPStatusEvent.HTTP_STATUS , onHTTPStatus); 
      loader.load(request); 
     } 

但我得到一个404而不是200,就好像它实际上没有做一个POST。

不幸的是,我没有很多REST API的经验,所以对我可能缺少的任何提示/提示表示赞赏。

+1

您要发布帖子被援引作为URL的“http://本地主机:控制/结束”由于结肠,我假设'控制'应该是一个端口号。但是,在创建url请求时,似乎您将控件用作“String”,而不是端口号? – 2012-04-21 19:22:35

+1

SERVER常量的内容是什么? 无论如何,尝试使用POST调用发送一些数据: var requestVars:URLVariables = new URLVariables(); requestVars.dummy =“lol”; request.data = requestVars; – 2012-04-21 20:38:29

+0

对不起“localhost:control/end”是个错误。 @MarceloAssis我已经完成了'request.data ='oi';'整理出来。你想发布你的解决方案作为答案吗? – 2012-04-22 12:55:32

回答

1

尝试发送一些数据与您的POST调用:

var requestVars:URLVariables = new URLVariables(); 
requestVars.dummy = "lol"; 
... 
request.data = requestVars;