[Resolvido] Problemas com RemoteObejct

4 respostas
CristianPalmaSola10

E ai galera to com problemas para realizar a comunicacao entre o flex e o java por favor me ajudem vou postar os codigos que eu tenho para fazer a comunicacao

remoting-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service" 
    class="flex.messaging.services.RemotingService">

    <adapters>
        <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>
    </adapters>

    <default-channels>
        <channel ref="my-amf"/>
    </default-channels>
	
	<destination id="conectaJava">
		<properties>
			<source>com.urbainski.SvcMensagem</source>
		</properties>
	</destination>
</service>

Classe SvcMensagem.java

package com.urbainski;

public class SvcMensagem {

	public String getMensagem()
	{
		return "Primeira comunicacao flex com java via blase DS";
	}
}

projetoWeb.xml

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
	
	<fx:Declarations>
		<s:RemoteObject destination="conectaJava" id="conectJava" />
	</fx:Declarations>
	<mx:Canvas backgroundColor="red" width="100%" height="100%">
		<s:Button x="322" y="186" label="bottao 1" click="conectJava.getMensagem()"/>
		<s:Label x="146" y="227" width="504" text="{conectJava.getMensagem.lastResult}"/>
	</mx:Canvas>
</s:Application>

o que sera que estou fazendo de errado?

4 Respostas

andre07041989

Olha do modo como vc está fazendo concerteza vai dar erro, talvés eu esteja errado ao falar isto, mas vo te mandar o modo como faço e que para mim é o correto...
Se no caso eu estiver errado, me avise.

<?xml version="1.0" encoding="utf-8"?>  
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"   
               xmlns:s="library://ns.adobe.com/flex/spark"   
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">  
      	<fx:Script>
		<![CDATA[
			protected function conectJava_resultHandler(event:ResultEvent):void
			{
				Alert.show(event.result + "", "Sucesso!");
				mensagemLidaJava.text = event.result  as String; // pega o resultado da minha consulta no java
			}
			
			protected function conectJava_faultHandler(event:FaultEvent):void
			{
				Alert.show("" + event.fault, "Erro!"); // caso de algum erro
			}
			private function clickConectJava():void {
				conectJava.getMensagem(); // onde chamo meu remoting
			}

		]]>
	</fx:Script>
    <fx:Declarations>  
         <s:RemoteObject destination="conectaJava" id="conectJava" result="conectJava_resultHandler(event)" fault="conectJava_faultHandler(event)"/>  
    </fx:Declarations>  
    <mx:Canvas backgroundColor="red" width="100%" height="100%">  
        <s:Button x="322" y="186" label="bottao 1" click="clickConectJava"/>  
        <s:Label x="146" y="227" width="504" id="mensagemLidaJava" text="Ainda não fiz minha pesquisa, click no botao bottao 1"/>  
    </mx:Canvas>  
</s:Application>
Ramon.Onix

Acho que o andre ta certo!

Cara eu uso com PHP, mas é a mesma coisa, vamos lá…

<s:RemoteObject id="ro_registro" destination="zend" source="Registro">//destination eu uso o zend, source é o nome da Classe
	<s:method name="atualizarOn" result="resultAtualizarOn(event)">//name é nome do metodo la na classe php, e o result é o que faço qnd obtenho o retorno
		<s:arguments>//passo os argumentos pro php
			<txt_id>{txt_id.text}</txt_id>
			<txt_dtReg>{txt_dtReg.text}</txt_dtReg>
			<txt_nomePac>{txt_nomePac.text}</txt_nomePac>
			<txt_cirurgia>{txt_cirurgia.text}</txt_cirurgia>
		</s:arguments>
	</s:method>
</s:RemoteObject>

Espero ter te ajudado.

CristianPalmaSola10

Ajudaram sim, obrigado

mas vcs naum teriam alguma classe que implementasse o RemoteObject por tras para agente naum precissar fazer isso todas as vezes, estou criando uma serie de componentes para usar nos trabalho final da faculdade e estou pensando em implementar alguma coisa assim para facilitar um pouco mais a programacao;

Ramon.Onix

Cara eu faço sempre assim, não sei se alguém já implementou uma classe, nem sei se teria como.

Então, pra cada classe um RO e pra cada método um Method.

obs: se o problema for resolvido, não esquece de colocar RESOLVIDO, lá no topico, blz?!

Criado 19 de novembro de 2011
Ultima resposta 1 de dez. de 2011
Respostas 4
Participantes 3