Boa tarde a todos, estou precisando de um auxilio para descobrir a causa 
desse erro abaixo...

faultCode:Client.Error.MessageSend faultString:'Send failed' 
faultDetail:'Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: 
Status 500: url: 'http://localhost:8080/Contatos/messagebroker/amf''

Estou aprendendo a fazer a comunicação do Flex com o java utilizando o 
blazeds e JBoss, criei o projeto Contatos como Dynamic Web Project, depois 
adicionei o Flex Project Type, o projeto está na seguinte estrutura...

<https://lh3.googleusercontent.com/-s4wbXCs1JQM/UdCcBtM8j_I/AAAAAAAABss/h4Or39k1vU8/s738/Contatos.png>


Em Contatos.mxml tenho o seguinte código:

<?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>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<s:RemoteObject id="contato"
destination="contato"
fault="OnFault(event)">
 <s:method name="getAll" result="OnGetAll(event)"/>
  
</s:RemoteObject>
 </fx:Declarations>
 <fx:Script>
<![CDATA[
import agenda.ContatoVO;
 import flash.net.registerClassAlias;
 import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
 protected function OnFault(event:FaultEvent):void{
Alert.show(event.fault.message.toString());
}
 protected function OnGetAll(event:ResultEvent):void{
dgContatos.dataProvider = event.result;
}
]]>
</fx:Script>
 <s:creationComplete>
<![CDATA[
 registerClassAlias("agenda.ContatoVO",agenda.ContatoVO);
contato.getAll();
 ]]>
</s:creationComplete>
 <mx:DataGrid id="dgContatos" x="10" y="10">
<mx:columns>
<mx:DataGridColumn headerText="Nome" dataField="Nome"/>
<mx:DataGridColumn headerText="Email" dataField="Email"/>
</mx:columns>
</mx:DataGrid>
</s:Application>


em ContatoVO.as tenho o seguinte código:

package agenda
{
[Bindable]
[RemoteClass(alias="agenda.ContatoVO")]
public class ContatoVO
{
 public var Nome:String;
public var Email:String;
public var Telefone:String;
public var id:int;
 public function ContatoVO()
{ 
}
}
}

em src_java/agenda/ContatoDAO.java tenho o seguinte código:

package agenda;

import connection.AbstractDAO;
//A classe ContatoDAO utiliza as funcionalidades da classe AbstractDAO, 
presumindo que a classe ContatoVO seja a classe generica <ContatoVO>

public class ContatoDAO extends AbstractDAO<ContatoVO> {

public ContatoDAO() {
super("Contatos");
}

}


em src_java/agenda/ContatoVO.java tenho o seguinte código:
package agenda;

public class ContatoVO {
public int id;
public String Nome;
public String Email;
public String Telefone;

}



em src_java/connection/AbstractDAO.java tenho o seguinte código:

package connection;

import java.lang.reflect.Field;
import java.lang.reflect.ParameterizedType;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

//Classe para reakuzar a conexão e manipular o banco de dados, essa classe 
é abstrata.
// T representa uma classe genérica
public abstract class AbstractDAO<T> {
 protected Connection conn = null;
protected Statement stm = null;
protected Class<T> classVO = null;
 private String tableName;
 public AbstractDAO(String tableName){
this.tableName = tableName;
 /**
 * usando reflection, obtem a classe que
 * representa o VO. Usamos issso para obter as variaveis
 * da classe VO, assim conseguimos criar uma classe VO dinamicamente 
 **/
this.classVO = (Class<T>) ((ParameterizedType) 
getClass().getGenericSuperclass()).getActualTypeArguments()[0];
      
Configure();
}
 private void Configure(){
String jdbcConnString = "jdbc:mysql://localhost:3306/test";
String user = "root";
String pass = "123";
 try{
this.conn = DriverManager.getConnection(jdbcConnString, user, pass);
this.stm = conn.createStatement(); 
} catch (SQLException e) {
e.printStackTrace();
}
}
 public ArrayList<T> getAll(){
String sql = String.format("SELECT * FROM %s", tableName);
return getRowsFromSql(sql);
}
 private ArrayList<T> getRowsFromSql(String sql){
ArrayList<T> rows = new ArrayList<T>();
 try{
ResultSet rs = null;
rs = this.stm.executeQuery(sql);
 while (rs.next()){
T newInstanceClassVO = this.classVO.newInstance();
for (Field classVOField : classVO.getDeclaredFields()) {
Field classVODinamicField = classVO.getField(classVOField.getName());
classVODinamicField.set(newInstanceClassVO, 
rs.getObject(classVOField.getName())); 
}
 rows.add(newInstanceClassVO);
}
 rs.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
 return rows;
}
 /**
 * obtem um registro VO dado um id
 * @param id o id (chave primaria) do registro
 * @return o objeto VO se existe de acordo com o ID
 */
public T getById(int id){
T row = null;
String sql = String.format("SELECT * FROM %s where id=%s", tableName, id);
ArrayList<T> rows = getRowsFromSql(sql);
if (rows.size() == 1)
row = rows.get(0);
 return row;
}

}


no WebContent/WEB-INF/flex/remoting-config.xml tenho o seguinte código:

<?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="contato">
        <properties>
            <source>agenda.ContatoDAO</source>
        </properties>
    </destination>

    
  </service>


no argumentos está configurado da seguinte maneira:

-locale en_US -services "../WebContent/WEB-INF/flex/services-config.xml" 
-context-root "Contatos"


quando executo tenho o seguinte erro

<https://lh4.googleusercontent.com/-aHWRVYlRRiM/UdCb5RdWGlI/AAAAAAAABsk/eBM8n6KRj5E/s490/Contatos+erro.png>



17:56:37,143 ERROR [STDERR] **** MessageBrokerServlet in application 
'BlazeDS Samples' failed to initialize due to runtime exception:   
Exception: flex.messaging.MessageException: Cannot create class of type 
'flex.samples.DatabaseCheckService'. Type 
'flex.samples.DatabaseCheckService' not found.
at flex.messaging.util.ClassUtil.createClass(ClassUtil.java:83)
at flex.messaging.MessageBroker.createService(MessageBroker.java:1036)
at 
flex.messaging.config.MessagingConfiguration.createServices(MessagingConfiguration.java:377)
at 
flex.messaging.config.MessagingConfiguration.configureBroker(MessagingConfiguration.java:128)
at flex.messaging.MessageBrokerServlet.init(MessageBrokerServlet.java:136)
at 
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1048)
at 
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:777)
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at 
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at 
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at 
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
17:56:37,143 ERROR [[MessageBrokerServlet]] Allocate exception for servlet 
MessageBrokerServlet
flex.messaging.MessageException: Cannot create class of type 
'flex.samples.DatabaseCheckService'. Type 
'flex.samples.DatabaseCheckService' not found.
at flex.messaging.util.ClassUtil.createClass(ClassUtil.java:83)
at flex.messaging.MessageBroker.createService(MessageBroker.java:1036)
at 
flex.messaging.config.MessagingConfiguration.createServices(MessagingConfiguration.java:377)
at 
flex.messaging.config.MessagingConfiguration.configureBroker(MessagingConfiguration.java:128)
at flex.messaging.MessageBrokerServlet.init(MessageBrokerServlet.java:136)
at 
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1048)
at 
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:777)
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at 
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at 
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at 
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)



Pessoal me ajuda....

obrigado....

-- 
-- 
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
--- 
Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" dos 
Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um 
e-mail para [email protected].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.


Responder a