Bom, depois de algumas horas quebrando a cabeça... Vi que estava passando uma Classe ao inves de passar um objeto, por isso que estava gerando o erro que passei!
ou seja, no meu Form no flex, estava chamando o .save e com isso eu passava uma classe e ele esperava um objeto. Errado: PacienteService.Salvar(Paciente); Certo: PacienteService.Salvar(paciente); Chega a ser engraçado! rs Obrigado pela força! 2009/6/14 Rodrigo Valentim <[email protected]> > Mário, > > Você não sabe o alivio que fiquei em ver essa corração mas, > infelizmente... rsrsrs nada ainda! > > Vou voltar a desenvolver em Clipper! :P > > Voltando ao assunto, o erro continua! Mesma mensagem! (Já fiz a correção q > voce falou e inclusive, parei e iniciei o server e nada..) > > > > > 2009/6/14 Mário Júnior <[email protected]> > >> Bem, se a sua classe esta digitada exatamente como vc mostrou aqui no >> e-mail, então a Metadata está errada: >> >> [RemoveClass(alias=*"com.JavaFlex.model.entity.Paciente"*)] >> RemoVVVVeClass ???? (com V???) >> >> >> é RemoTTTTTeClass (com T!) >> [RemoteClass(alias="com.JavFlex.model.entity.Paciente")] >> >> Até achei q EU tinha digitado errado na resposta q te mandei, mas não >> digitei não... corrige na sua classe as3 aí e manda bala =D >> (E, só para complementar, os pacotes de VOs no AS3 não precisam seguir a >> mesma ordem do pacote java) >> >> >> Um abraço. >> >> >> >> >> >> 2009/6/14 Rodrigo Valentim <[email protected]> >> >> Mário, >>> >>> Obrigado pela resposta mas infelizmente não resolveu. >>> Deu o mesmo erro! >>> >>> Segue classe AS3 >>> >>> * >>> >>> package >>> *com.JavaFlex.view.entity { >>> [RemoveClass(alias=*"com.JavaFlex.model.entity.Paciente"*)] >>> [*Bindable*] >>> *public* *class* Paciente { >>> * public* *var* CdPaciente:Number; >>> *public* *var* NmPaciente:String; >>> } >>> >>> } >>> Algo me diz que a configuração que fiz (já olhei milhoes de vezes) não >>> está correta... digo isso por que existe uma consulta que gera o resultado >>> para o Grid e os valores não estão sendo jogados lá (o grid fica como se >>> tivesse uima linha em branco, se eu inserir 3 linhas no banco, a rotina vai >>> gerar 3 linhas em branco no grid) >>> >>> 2009/6/14 Mário Júnior <[email protected]> >>> >>>> opa. >>>> a msg de erro é clara:* >>>> >>>> "... Cannot invoke method 'save'. The expected argument types are >>>> (com.JavaFlex.model.entity.* *Paciente) but the supplied types were >>>> (flex.messaging.io.amf.**ASObject) and converted to (null). ..."* >>>> >>>> >>>> Seu método "save" está esperando um objeto do tipo Paciente como >>>> argumento, mas o BlazeDS passou um ASObject para seu método. Isso acontece >>>> quando o BlazeDS não sabe qual é o tipo do objeto que está vindo do flex. >>>> Você precisa "dizer" qual o tipo do seu objeto no Flex que corresponde ao >>>> objeto em java, e isso é feito pela Metadata >>>> [RemoteClass(alias="seu.objeto.java")]. >>>> >>>> Então.. na sua classe AS3, que representa o objeto paciente, vc coloca: >>>> >>>> [RemoteClass(alias="com.JavaFlex.model.entity.Paciente")] >>>> public class PacienteAS3QualquerCoisaPqAquiNaoImportaONomeWhatever { >>>> ... >>>> } >>>> >>>> Simples assim. Isso é q chamamos de "mapeamento de objetos". >>>> >>>> >>>> Bons estudos. >>>> >>>> >>>> 2009/6/13 Rodrigo Valentim <[email protected]> >>>> >>>> Pessoal, >>>>> Estou com um probleminha na integração entre java e flex usando o >>>>> blazeDS >>>>> >>>>> Estou com o seguinte erro e não consigo descobrir onde pode ser... já >>>>> fiz milhares de consultas na interente e resolvi pedir um help básico! >>>>> >>>>> >>>>> estou usando o plugin + eclipse + spring + blazeds + hibernate + mysql >>>>> (isso tudo!! eta trabalheira!) >>>>> >>>>> segue o erro.... e Obrigado ! :P >>>>> >>>>> [BlazeDS]06/13/2009 [ERROR] [Message.General] Exception when invoking >>>>> service 'remoting-service': flex.messaging.MessageException: Cannot invoke >>>>> method 'save'. The expected argument types are >>>>> (com.JavaFlex.model.entity.Paciente) but the supplied types were >>>>> (flex.messaging.io.amf.ASObject) and converted to (null). >>>>> incomingMessage: Flex Message (flex.messaging.messages.RemotingMessage) >>>>> >>>>> operation = save >>>>> clientId = A7947876-BE08-8DDE-ECD1-2C439713E75F >>>>> destination = PacienteService >>>>> messageId = 90794C87-17C8-F298-36CF-DAF6D6D47203 >>>>> timestamp = 1244919158484 >>>>> timeToLive = 0 >>>>> body = null >>>>> hdr(DSEndpoint) = channel-amf >>>>> hdr(DSId) = A79477DC-EF1E-F746-C93F-9D06A1A41FA4 >>>>> Exception: flex.messaging.MessageException: Cannot invoke method >>>>> 'save'. The expected argument types are >>>>> (com.JavaFlex.model.entity.Paciente) >>>>> but the supplied types were (flex.messaging.io.amf.ASObject) and converted >>>>> to (null). >>>>> at >>>>> flex.messaging.util.MethodMatcher.methodNotFound(MethodMatcher.java:355) >>>>> at flex.messaging.util.MethodMatcher.getMethod(MethodMatcher.java:163) >>>>> at >>>>> flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:420) >>>>> at >>>>> flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183) >>>>> at >>>>> flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1503) >>>>> at >>>>> flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:884) >>>>> at >>>>> flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:121) >>>>> at >>>>> flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158) >>>>> at >>>>> flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44) >>>>> at >>>>> flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67) >>>>> at >>>>> flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:146) >>>>> at >>>>> flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:278) >>>>> at >>>>> flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:322) >>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >>>>> at >>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) >>>>> at >>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) >>>>> at >>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) >>>>> at >>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) >>>>> at >>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) >>>>> at >>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) >>>>> at >>>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) >>>>> at >>>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) >>>>> at >>>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) >>>>> at java.lang.Thread.run(Unknown Source) >>>>> Caused by: flex.messaging.io.amf.translator.TranslationException: >>>>> Cannot convert type flex.messaging.io.amf.ASObject with remote type >>>>> specified as 'null' to an instance of class >>>>> com.JavaFlex.model.entity.Paciente >>>>> at >>>>> flex.messaging.io.amf.translator.decoder.DecoderFactory.invalidType(DecoderFactory.java:369) >>>>> at >>>>> flex.messaging.io.amf.translator.decoder.DecoderFactory.getDecoder(DecoderFactory.java:172) >>>>> at >>>>> flex.messaging.io.amf.translator.ASTranslator.convert(ASTranslator.java:69) >>>>> at >>>>> flex.messaging.io.Java15TypeMarshaller.convert(Java15TypeMarshaller.java:71) >>>>> at >>>>> flex.messaging.util.MethodMatcher.convertParams(MethodMatcher.java:211) >>>>> at flex.messaging.util.MethodMatcher.getMethod(MethodMatcher.java:132) >>>>> ... 24 more >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Atenciosamente, >>>>> Rodrigo Valentim >>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Mário Júnior >>>> Programador Java / Adobe Flex >>>> http://blog.mariojunior.com >>>> >>>> >>>> -- >>>> Atenciosamente, >>>> Rodrigo Valentim >>>> >>>> >>>> >> >> >> -- >> Mário Júnior >> Programador Java / Adobe Flex >> http://blog.mariojunior.com >> >> >> >> > > > -- > Atenciosamente, > Rodrigo Valentim > -- Atenciosamente, Rodrigo Valentim --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [email protected] Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---
