Hello everybody, i'm reading the book Flexible Rails, i'm in page 122 of the pdf, but the login page is not working, the error it gives when i try to login:
[RPC Fault faultString="HTTP request error" faultCode="Server.Error.Request" faultDetail="Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Stream Error. URL: http://localhost:3000/sessions/create_xml"\]. URL: /sessions/create_xml"] at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/ internal::faultHandler()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx \rpc\AbstractInvoker.as:216] at mx.rpc::Responder/fault()[E:\dev\3.0.x\frameworks\projects\rpc\src \mx\rpc\Responder.as:49] at mx.rpc::AsyncRequest/fault()[E:\dev\3.0.x\frameworks\projects\rpc \src\mx\rpc\AsyncRequest.as:103] at DirectHTTPMessageResponder/errorHandler()[E:\dev\3.0.x\frameworks \projects\rpc\src\mx\messaging\channels\DirectHTTPChannel.as:343] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at flash.net::URLLoader/redirectEvent()
The methods used are:
From RoR:
sessions_controler.rb
def create_xml self.current_user = User.authenticate(params[:login], params[:password]) if logged_in? if params[:remember_me] == "1" self.current_user.remember_me cookies[:auth_token] = { :value => self.current_user.remember_token, :expires => self.current_user.remember_token_expires_at } end render :xml => self.current_user.to_xml else render :text => "badlogin" end end
From Flex:
LoginBox.mxml
private function handleAccountLoginResult(event:ResultEvent):void { var result:Object = event.result; if (result == "badlogin") { Alert.show("The username or password is wrong.","Login Error"); } else { dispatchEvent(new LoginEvent(XML(result)));
} }
<mx:HTTPService id="svcAccountLogin" url="/sessions/create_xml" resultFormat="e4x" method="POST" result="handleAccountLoginResult(event)"/>
LoginEvent.as
package com.pomodo.events { import flash.events.Event;
public dynamic class LoginEvent extends Event { public static const LOGIN:String = "login"; public var user:XML;
public function LoginEvent(user:XML) { super(LOGIN); this.user = user; } } }
Can anybody please help me?