BlazeDS com pacotes java

8 respostas
D

Galera, estou fazendo meu projeto flex conversar com o java atraves do blazeds.

Ate ae tudo bem, configurei certinho e fiz uma classe no java que retorna Feito
public class Hello {

	
	public static void main(String[] args) {
		
	}
	
	public String chamarr(){
		return "FEITO";
	}
}

Funcionou certinho.

So que quando eu falo que ele e de um pacote produto, ele cria a classe dentro da pastra protudo.
ate ae tudo bem.

Ae vou no remote-config.xml e mudo para
<destination id="helloworld">

<properties>

<source>produdo.Hello</source>

</properties>

<adapter ref="java-object"/>

</destination>

<destination id="addvetor">

<properties>

So que ele nao acha a classe, alguem tem nocao o que pode ser?

da o erro

(mx.rpc::Fault)#0
content = (null)
errorID = 0
faultCode = "Server.ResourceUnavailable"
faultDetail = "Type 'produdo.Hello' not found."
faultString = "Cannot create class of type 'produdo.Hello'."
message = "faultCode erver.ResourceUnavailable faultString:'Cannot create class of type 'produdo.Hello'.' faultDetail:'Type 'produdo.Hello' not found.'"
name = "Error"
rootCause = (null)

Quando esta fora do pacote ela funciona

8 Respostas

kweles

Olá darkin000!

Cara seu objetivo é criar classes no java e reproduzí-las no flex? Se for, vc precisa:

1 - criar suas classes no java dentro de um pacote, por ex: br.com.seudominio.model ou o seu produto
dentro deste cara coloque todas as suas classes java.

2 - Geralmente criamos uma outra classe chamada por ex: HelloServices que chama suas classes do model ou do produto no seu caso.

3 - no remote config no destination coloque o caminho completo até sua classe com o package, ex:

&lt;destination id="helloworld"&gt; &lt;properties&gt; &lt;source&gt;br.com.seudominio.Hello&lt;/source&gt; &lt;/properties&gt; &lt;/destination&gt;

3 - Ponto mais importante no flex, vc precisa colocar em cima da mesma classe que representa sua classe java
o remoteObject,ex:

[RemoteClass(alias="br.com.seudominio.model.Hello")]
[Bindable]
public class Hello{

...

depois é só criar o <mx:RemoteObject

Espero que ajude!

>

D

Entendi, e no meu caso que esta localmente no tomcat, ou seja nao tem dominio

ae nao daria certo o br.com etc

caio_ferreira

br.com é um padrão para nomeação de pacotes, Ex: br.com.produto.Hello, como vc não usou o br.com, vc coloca no produto.Hello, isso não quer dizer se o projeto está rodando local ou na web, é só uma questão de padrão.

D

Entendi, no caso o protudo.Hello nao funciona.

porem se eu tiro ele da pasta produto e coloco na raiz, e mudo so para Hello funciona

R

a sua package é produto ou produdo? A grafia está correta no arquvo de configuração?

kweles

darkin000:
Entendi, no caso o protudo.Hello nao funciona.

porem se eu tiro ele da pasta produto e coloco na raiz, e mudo so para Hello funciona

Poste o código de como vc está chamando seu serviço java, quem sabe fica mais facil para ajudarmos a vc.

F
faultDetail = "Type 'produdo.Hello' not found." 
 Não seria pacote produto? Vc pode ter as tuas classes java em pacotes, as únicas necessidades é q a classe tenha um construtor público e sem parâmetros e q os métodos a serem acessados tb sejam públicos.

[]s

D
darkin000:
Galera, estou fazendo meu projeto flex conversar com o java atraves do blazeds. Ate ae tudo bem, configurei certinho e fiz uma classe no java que retorna Feito
public class Hello {

	
	public static void main(String[] args) {
		
	}
	
	public String chamarr(){
		return "FEITO";
	}
}

Funcionou certinho.

So que quando eu falo que ele e de um pacote produto, ele cria a classe dentro da pastra protudo.
ate ae tudo bem.

Ae vou no remote-config.xml e mudo para
<destination id="helloworld">

<properties>

<source>produdo.Hello</source>

</properties>

<adapter ref="java-object"/>

</destination>

<destination id="addvetor">

<properties>

So que ele nao acha a classe, alguem tem nocao o que pode ser?

da o erro

(mx.rpc::Fault)#0
content = (null)
errorID = 0
faultCode = "Server.ResourceUnavailable"
faultDetail = "Type 'produdo.Hello' not found."
faultString = "Cannot create class of type 'produdo.Hello'."
message = "faultCode erver.ResourceUnavailable faultString:'Cannot create class of type 'produdo.Hello'.' faultDetail:'Type 'produdo.Hello' not found.'"
name = "Error"
rootCause = (null)

Quando esta fora do pacote ela funciona

Criado 2 de dezembro de 2010
Ultima resposta 2 de dez. de 2010
Respostas 8
Participantes 5