Erro [BlazeDS] Cannot create class of type 'vo.Produto'. Type 'vo.Produto' not found

Ola estou tentando fazer a integração de flex + java utilizando banco de dados postgres (via JDBC) mais quando vou executar minha aplicação aparece o erro do titulo, ja pesquisei e nada encontrei que resolvesse meu problema.

a classe em java:

[code]package vo;

public class Produto {

private int cod_prod;
private String nome_prod;
private Double preco_prod;

// Getters and Setters
} [/code]

A classe em Flex:

[code] package vo
{
import mx.rpc.remoting.mxml.RemoteObject;
[RemoteClass(alias=“vo.Produto”)]
[Bindable]
public class Produto
{
public var cod_prod:int;
public var nome_prod:String;
public var preco_prod:Number;

	public function Produto()
	{
	}

}

}[/code]

Será necessário tb registrar esta classe para o compilador levar junto. Para registrar vc precisa dar um new ou registerClass, explico melhor aqui: http://fabiophx.blogspot.com/2009/04/criacao-dinamica-de-objetos.html

[]s

Opa, blz valeu consegui aqui agora!! :smiley:

Mais so tem um problema eu mandei listar na minha DataGrid no flex os produtos cadastrados no banco ele carrega a grid mais nao exibe nada!!! =//

Abaixo o codigo em Flex

[code]<mx:Canvas xmlns:mx=“http://www.adobe.com/2006/mxml” width=“400” height=“300” creationComplete=“getData()”>
<mx:RemoteObject id=“produtoS” destination=“produtoService” channelSet="{utils.Utils.getChannelSet()}" fault=“onFault(event)”>
<mx:method name=“insertData” result=“onResultInsertData(event)”/>
<mx:method name=“deleteData” result=“onResultDeleteData(event)”/>
<mx:method name=“getData” result=“onResultGetData(event)”/>
</mx:RemoteObject>

<mx:Script>
	<![CDATA[
		import utils.Utils;
		import vo.Produto;
		import mx.controls.Alert;
		import mx.collections.ArrayCollection;
		import mx.rpc.events.FaultEvent;
		import mx.rpc.events.ResultEvent;
		
		private var produto:Produto;
		[Bindable]
		private var lista:ArrayCollection;
		
		private function insertData():void{
			produto = new Produto();
			produto.nome_prod = txtNome.text;
			produto.preco_prod = Number(txtPreco.text);
			produtoS.insertData(produto);
		 }
		 
		 private function deleteData():void{
		 	if (dgProduto.selectedItem != null)
		 	       produtoS.deleteData(dgProduto.selectedItem as Produto);
		 }
		 
		 private function getData():void{
		 	produtoS.getData();
		 }
		 
		 private function onResultInsertData(event:ResultEvent):void{
		 	getData();
		 }
		 
		 private function onResultDeleteData(event:ResultEvent):void{
		 	getData();
		 }
		 
		 private function onResultGetData(event:ResultEvent):void{
		 	lista = event.result as ArrayCollection;
		 }
		 
		 private function onFault(event:FaultEvent):void{
		 	Alert.show("Deu erro","Error");
		 }
	]]>
</mx:Script>        
 
<mx:DataGrid id="dgProduto" dataProvider="{lista}" x="10" y="10" width="380" height="142">
	<mx:columns>
		<mx:DataGridColumn headerText="Nome" dataField="nome"/>
		<mx:DataGridColumn headerText="Preço" dataField="preco"/>
	</mx:columns>
</mx:DataGrid>          

<mx:Label x="24" y="164" text="Nome:" width="42" textAlign="right"/>
<mx:TextInput id="txtNome" x="78" y="160" width="312"/>
<mx:Label x="28" y="194" text="Preço:"/>
<mx:TextInput id="txtPreco" x="78" y="190" width="312"/>

<mx:Button x="325" y="220" label="Gravar" click="insertData()"/>
<mx:Button x="252" y="220" label="Excluir" click="deleteData()"/>

</mx:Canvas>
[/code]

Vc colocou dataField nome e preco e no teu VO é nome_prod e preco_prod.

[]s

Nossa que juvenil que eu fui, ehehehheeheh!!!

Muito obrigado mesmo!!! vlw pela atençao ai!!

Abraços !