Flex com Java (integração)

10 respostas
F

OLA BOA TARDE ,

estou tentando a faz uma semana fazer a integração de flex com java …
mas não corresponde não sei se é o blazeds apenas criei um metodo no java que retornava
o dado que eu digitei no flex … mas acontece que neem chega na plataforma java … alguem poderia me ajudar ???

só para adiantar eu estou usando :::

eclipse ganymede : 3.4.2
plug-in: 3.0.2

tt+

obrigado !

10 Respostas

xdraculax

www.guj.com.br/posts/downloadAttach/4207.java

Dá uma olha ai.

F

entaun cara eu estou seguindo a mesma logica e se vc reparar ele ta chamando um metodo da classe java quando ele digita o dado no textfield …

estou fazendo igual … mas a classe java não responde não sei se é o blazeds não sei o que ocorre

o erro persiste !

tt+ valew cara !

xdraculax

Cara, as libs do BlazeDS estão no projeto?

O servlet está configurado no web.xml?

<!-- MessageBroker Servlet -->
	<servlet>
		<servlet-name>MessageBrokerServlet</servlet-name>
		<display-name>MessageBrokerServlet</display-name>
		<servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
		<init-param>
			<param-name>services.configuration.file</param-name>
			<param-value>/WEB-INF/flex/services-config.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>

Já colocou um manipulador para o evento de fault no método remoto que você está chamando?

F

estou usando web.xml
TODOS OS LIBS ESTÃO PRESENTE

observe o codigo ...

classe java;

public class conexao 
{
	String ola( String nome )
	{
		return nome;
	}

}
dentro do flex;
<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

        <mx:RemoteObject id="chama_conexao" destination="conexao"/>

	<mx:Label x="317" y="106" text="{chama_conexao.ola.lastResult}" width="198"/>
	<mx:TextInput x="149" y="104" id="nome" change="chama_conexao.ola(nome.text)"/>
	
</mx:Application>

arquivo remoting-config;

<?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="chama_conexao">
    <properties>
        <source>conexao</source>
    </properties>
</destination>
</service>

arquivo web.xml;

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>JavaFlex</display-name>
  <welcome-file-list>
    <welcome-file>JavaFlex.html</welcome-file>
    <welcome-file>JavaFlex.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>
xdraculax

Não se irrite com as perguntas “bobas”, até quem é experiente cai nessas “câimbras de cerébro”.

Ao problema!

A sua destination no remote object do flex deve ser destination=“chama_conexao” e não id=“chama_conexao”, por exemplo:

Isso está no Flex:

<mx:RemoteObject id="sincronismoBusiness" destination="sincronismoBusiness"...

Isso está no remoting-config.xml:

<destination id="sincronismoBusiness">
		<properties>
			<sourc...

id é somente o identificador do objeto dentro do Flex, não tem ligação nenhuma com a destination do BlazeDS.

F

Não deu certo, estou desconfiando que seja alguma coisa do eclipse ou do plugin (incopatibilidade),

Não sei o que acontece … por que eu fiz correntamente como vc pediu e continua dando erro ;

pego o ID do remoteobject automaticante pega o destination dentro do destination busca o source e mostra a classe e puxa o return do method que eu solicitei;

coloquei um joptionpane no java para avisar-me quando chegar na plataforma java mas nem chega ;

abraço

xdraculax

Olha só como é meu exemplo:

No Flex:

<mx:RemoteObject id="sb" destination="sincronismoBusiness" showBusyCursor="true">
	<mx:method name="sincronizarCadastroSite" result="sincronizarCadastroSiteResult(event)" fault="sincronizarCadastroSiteFault(event)"/>
</mx:RemoteObject>

No Java (remoting-confi.xml):

<destination id="sincronismoBusiness">
	<properties>
		<source>br.com....SincronismoBusiness</source>
	</properties>
</destination>

Se o seu código segue o mesmo padrão, pode ser um problema para encontrar endpoint definido no BlazeDS.
Verifique se quando sua aplicação estiver em execução, o seguinte endereço:

http://localhost://messagebroker/amf

mostra uma página em branco. Se mostrar, seu BlazeDS está funcionando.

Agora vá em seu Remote Object e coloque mais esse atributo (endpoint):

<mx:RemoteObject id="sb" endpoint="http://localhost:<porta>/<sua app>/messagebroker/amf" destination=...

Se quando você colocar isso, funcionar, é porque os parâmetros de compilação da sua aplicação não estão direcionados para o XML de definição de objetos remotos (o tal do remoting-config.xml). E isso pode ser ajustado no “Flex Compiler” (nas propriedades do projeto Flex) onde tem “Aditional compiler arguments”.
No meu caso está assim:

-locale=en_US  -services "../WebContent/WEB-INF/flex/services-config.xml" -use-network=false

O caminho para o XML deve ser o caminho do XML dentro de sua aplicação Java, caso contrário, para o FLex sua aplicação não se integra com nenhum serviço remoto. Esse caminho é resolvido quando sua aplicação é compilada, não tem nada a ver com tempo de execução.

ViniGodoy

Por favor, ao postar tópicos NÃO UTILIZE APENAS LETRAS MAIÚSCULAS NO TÍTULO OU NO CORPO DO TÓPICO.

F

OK

K

Verificou se estes estão incluidos no services-config?

<services> <service-include file-path="remoting-config.xml" /> <service-include file-path="proxy-config.xml" /> <service-include file-path="messaging-config.xml" /> </services>

Estava com um erro parecido que foi resolvido com isso!

Criado 4 de novembro de 2011
Ultima resposta 9 de mai. de 2012
Respostas 10
Participantes 4