Problema com services-config.xml

Fala povo…

To com um problema aqui que surgiu agora…

Na verdade isso funcionava antes, mas como fiquei mó tempão sem fuçar no flex, já não sei mais oq houve…

Minha app qnd carrega, acessa o bd para buscar os usuários cadastrados, porém, quando vai pegar os dados do bd ocorre esse erro:

Essa url ficou meio estranha aqui nessa exception.

No meu services-config.xml está setado assim:

[code] <channel-definition id=“my-amf” class=“mx.messaging.channels.AMFChannel”>
<endpoint url=“http://{server.name}:{server.port}/{context.root}/messagebroker/amf” class=“flex.messaging.endpoints.AMFEndpoint”/>
</channel-definition>

    &lt;channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel"&gt;
        &lt;endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/&gt;
        &lt;properties&gt;
            &lt;add-no-cache-headers&gt;false&lt;/add-no-cache-headers&gt;
        &lt;/properties&gt;
    &lt;/channel-definition&gt;

    &lt;channel-definition id="my-polling-amf" class="mx.messaging.channels.AMFChannel"&gt;
        &lt;endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolling" class="flex.messaging.endpoints.AMFEndpoint"/&gt;
        &lt;properties&gt;
            &lt;polling-enabled&gt;true&lt;/polling-enabled&gt;
            &lt;polling-interval-seconds&gt;4&lt;/polling-interval-seconds&gt;
        &lt;/properties&gt;
    &lt;/channel-definition&gt;

[/code]

E meu web.xml assim:

[code] <!-- 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>

&lt;servlet-mapping&gt;
    &lt;servlet-name&gt;MessageBrokerServlet&lt;/servlet-name&gt;
    &lt;url-pattern&gt;/messagebroker/*&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;

[/code]

Estou rodando local através do eclipse…

Quando jogo no server ele roda normal, somente pelo eclipse está dando essa exceção.

Alguém tem idéia?

Abraço

Boa tarde,

Olhe a url que está sendo chamada “http:///D:/Pablo/Flex/ws/teste/Teste/bin-debug/messagebroker/amf”, como vc está fazendo para executar esse teste? Verifique se seu projeto está compilado corretamente e certifique que o endereço do seu message broker esteja referenciando um servidor web ativo.

Flws

[quote=jpjcjbr]Boa tarde,

Olhe a url que está sendo chamada “http:///D:/Pablo/Flex/ws/teste/Teste/bin-debug/messagebroker/amf”, como vc está fazendo para executar esse teste? Verifique se seu projeto está compilado corretamente e certifique que o endereço do seu message broker esteja referenciando um servidor web ativo.

Flws[/quote]

Cara… to rodando tudo pelo eclipse… tanto o java qnto o flex…

Meu message broker tá referenciando meu tomcat que to rodando pelo eclipse…

Ja testei o endereço http://localhost:8080/Teste/messagebroker/amf e ta funcionando normalmente.

Antes isso funcionava… não sei oq ta rolando…

Valeu…

Alguém tem alguma idéia???

abraço

provavelmente é a configuração do eclipse mesmo.

se vc roda normal pela url, e nao consegue pelo eclipse.

[quote=vitoryudi]provavelmente é a configuração do eclipse mesmo.

se vc roda normal pela url, e nao consegue pelo eclipse.
[/quote]

Fala ae vitor…

Cara… tbm acho isso… vc tem idéia de como fazer isso funcionar?

abraço

E aee…
Então

como está configurado seu servidor no eclipse??

[quote=vitoryudi]E aee…
Então

como está configurado seu servidor no eclipse??

[/quote]

Cara… tá tudo default…

Só add o tomcat normalmente no eclipse…

Esse erro de Canal é uma incognita mesmo !!!

Algumas atualizações que eu faço acontence esse problema também.

Dá última vez que aconteceu, eu mechi no aqruivo de contexto, na pasta apache-tomcat-6x/conf/Catalina/localhost.

Verifica se existe o arquivo de contexto ai.

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/nomeAplicacao">
  <ResourceLink global="nomeAplicacao" name="nomeAplicacao" type="javax.sql.DataSource"/>
</Context>

até mais
Rogério

[quote=orogerio]Esse erro de Canal é uma incognita mesmo !!!

Algumas atualizações que eu faço acontence esse problema também.

Dá última vez que aconteceu, eu mechi no aqruivo de contexto, na pasta apache-tomcat-6x/conf/Catalina/localhost.

Verifica se existe o arquivo de contexto ai.

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/nomeAplicacao">
  <ResourceLink global="nomeAplicacao" name="nomeAplicacao" type="javax.sql.DataSource"/>
</Context>

até mais
Rogério[/quote]

Fala ae Rogério…

Acabei de dar uma olhada e não tem esse context não cara… na verdade não tem a pasta catalina e localhost…

Tomcat 6.0.29 e 6.0.30.

Abraço.

Resolvido o problema…

É o seguinte…

Pegando o channelset passando o endereço hardcode, funciona no eclipse porque passo o endereço corretamente, porém, pra rodar no server pego o channel com o getMessageBroker que passo o endereço relativo.

[code] public static function getChannelSet():ChannelSet{

		var cs:ChannelSet=new ChannelSet();					
		//var customChannel:Channel=new AMFChannel("my-amf", getMessageBroker());//"http://localhost:8080/PromograpeJava/messagebroker/amf");
		var customChannel:Channel=new AMFChannel("my-amf", "http://localhost:8080/PromograpeJava/messagebroker/amf");
		cs.addChannel(customChannel);
		return cs;
		
	}
	
	public static function getMessageBroker():String{http:
		return Application.application.url.substr(0, Application.application.url.indexOf("/promogrape.swf"))+"/messagebroker/amf";
	}[/code]

Valeu galerinha.

Abraço

pode ter sido a porta 8080, qdo vc publica o servidor deve tá rodando na porta 80

O problema é a url que voce ta usando a url local D:\app.swf, e no seu services-config.xml as portas estao dinamicas entao ele tenta acha o broker de acordo com o local que voce acessa o swf.

Duas solucões possiveis:

  1. Mude o services config para sempre chamar a url localhost:8080(não recomendado)

  2. Existe um arquivo escondido no eclipse na pasta do projeto chamado .flexProperties mude serverRootURL=“D:/app.swf” para serverRootURL=“http://localhost:8080/app” ou simplesmente clique com o botão direito na pasta do projeto> Properties > Flex Build Path > output folder url: “http://localhost:8080/app” sem aspas e rode o projeto.

Att. Fabricio Batista