Search code examples
apache-flexactionscriptairhttpservice

How to map objectProxy Returned by HTTPService to valueobjects


I am using HTTPService component to call the webservice. I am getting the result in resulthandler but result type is objectProxy. I want to convert them to my value objects which I generated using Data/Service of Flash builder. enter image description here I am not able to access the ConnectUserAccess (as shown in attached image) as the Value Object.

var hs:HTTPService = new HTTPService();
var url:String = ConfigManager.getProperty("user.project.acess");
 hs.method = "GET";
 hs.url = url;
 hs.resultFormat = "object";
 var params:Object = {};
 params["User_Name"] = "madhur";
 hs.addEventListener(ResultEvent.RESULT, getProjectsAccessHandler);
 hs.addEventListener(FaultEvent.FAULT, getProjectFaultHandler);
 hs.send(params);

private function getProjectsAccessHandler(event:ResultEvent):void{
 var connect:ConnectUserAccess = event.result.ConnectUserAccess;
}

Solution

  • I finally made it work. Mistake I was doing was creating HTTPservice Object even though I have generated the service class using Data/Service feature of flash builder. I only had to use the generated service class to make a call to Httpservice. Now all I want is to get the event back from the service. The generated service returns me mx.rpc.AsyncToken which I can consume using callResponder.token. See the code below to get more clarity.

    import services.release.Release;
    [Bindable]
    private var userCR:CallResponder;
    [Bindable]
    private var release :Release;
    private function init():void{
    userCR = new CallResponder;
    userCR.addEventListener(ResultEvent.RESULT, getUserProject);
    userCR.addEventListener(FaultEvent.FAULT,getUserProjectFaultHandler);
    release = new Release;
    }
    protected function userProjectAccess(User_Name:String, User_GUID:String):void
    {
    userCR.token = Release.UserProjectAccess(User_Name, User_GUID);
    }
    

    Call this function userProjectAccess wherever required.