Problemas com Flex - Cast de Objetos

Galera seguinte, como bom escravo, meu chefe solicitou uma aplicacao em flex, so que nao tenho a manha desse bicho ainda não!!!

Esta dando o seguinte erro a minha aplicao:

TypeError: Error #1034: Type Coercion failed: cannot convert mx.rpc::AsyncToken@61d17c1 to br.com.dto.Transmissao.
	at Transmissao/teste()[E:\temp\flex\FlexJava\flex_src\Transmissao.mxml:28]
	at Transmissao/__btIniciar_click()[E:\temp\flex\FlexJava\flex_src\Transmissao.mxml:8]

O que pode ser esse erro. Pelo o que eu entendi ele nao esta conseguindo fazer o cast de objetos.
Abaixo os meus fontes que estou usando

Transmissao.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:dto="br.com.dto.*" layout="absolute">
	<mx:Form x="157" y="10" width="280" height="186">
		<mx:Label width="106" id="labellatitude"/>
		<mx:Label text="longitude" width="73" id="labellongitude"/>
	</mx:Form>
	<mx:ControlBar horizontalAlign="right">
		<mx:Button id="btIniciar" label="Iniciar" click="teste('20005710')" />
	</mx:ControlBar>
	
	<!-- Model -->
	<dto:Transmissao id="transmissao" />
	
	<mx:RemoteObject id="posicaoService" destination="posicaoService">
		<mx:method name="buscarTransmissao" result="transmissao"/>
	</mx:RemoteObject>
	
<mx:Script>
	<![CDATA[
		import mx.rpc.events.FaultEvent;
		import mx.controls.Alert;
		[Bindable]
		public var isLogged:Boolean;
		 
		 
		private function teste(serial:String):void{
			Alert.show(serial);
			transmissao = posicaoService.buscarTransmissao(serial);
			Alert.show(transmissao.latitude);
		}
		
		private function faultHandler(event:FaultEvent):void{
			labellatitude.text = transmissao.latitude;
			Alert.show(event.fault.message);
		}
	]]>
</mx:Script>
	
</mx:Application>

Transmissao.as

package br.com.dto
{
	[RemoteClass(alias="br.com.xml.Transmissao")]
	public class Transmissao
	{
		
    	    public var latitude:String;
    	    public var longitude:String;
    	    public var direcao:String;
	}
}

Transmissao.class

package br.com.xml;

public class Transmissao {
    private String codVeiculo;
    private String tipo;
    private String dataTransmissao;
    private String latitude;
    private String longitude;
    private String direcao;
    private String velocidade;
    private String ignicao;
    private String excessoVelocidade;
    private String gps;
    private String gprs;
    private String alert;
    private String hodometro;
    private String serial;

    //GET's e SET's

}

PosicaoService.class

package br.com;

import java.net.URL;

import org.apache.axis.client.Service;

import br.com.portaltrack.webservice.PortalTrackBindingStub;
import br.com.portaltrack.xml.Transmissao;
import br.com.portaltrack.xml.Xml;

public class PosicaoService {
	public Transmissao buscarTransmissao(String serial){
		try {
			URL url = new URL("Meu webservice");
			Service service = new Service();
			BindingStub stub = new BindingStub(url,service);
			String s = stub.buscarPosicoes("20005710");
			System.out.println(s);
			Xml xml = new Xml();
			return xml.lerXml(s);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
}

Outra coisa, estu usando XStream para ler o meu XML que vem no retorno do webservice. Quando rodo a aplicacao ele fala que nao achou os jar’s do Xstream. Estou usando o o ecplise com o plugin do flex. Apontei as libs necessarias para o meu projeto, inclusivel as do XSream, quando eu rodo a minha aplicacao com JUnit funciona mas quando chamo a aplicacao no navegador da erro que nao achou os jar’s do XStream.

Valeu mais uma vez galera

vcsmetallica

Cara, na tag mx:method da tag mx:RemotObject a propriedade 'result" tem que apontar para uma função:


<mx:method name="buscarTransmissao" result="{result(event)}"/>  

e na função deve passar o evento:

public function result(event:ResultEvent):void{
	transmissao  = event.result.valueOf();
}

mais ou menos assim.