Salve galera!
Galera seguinte, quando estou tentando publicar a minha aplicação flex, esta dando o seguinte erro:
faultCode:Client.Error.MessageSend faultString:'Send failed' faultDetail:'Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Failed: url: 'http://www.cessistemas.com.br/WebContent/messagebroker/amf
no meu XML esta assim:
<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>
<channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
<endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/>
<properties>
<add-no-cache-headers>false</add-no-cache-headers>
</properties>
</channel-definition>
<channel-definition id="my-polling-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolling" class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>4</polling-interval-seconds>
</properties>
</channel-definition>
Como que eu resolvo esse problema?
O servidor que estou publicando o meu sistema é o IIS 7
Att
vcsmetallica
Você já verificou se a url : '//www.cessistemas.com.br/WebContent/messagebroker/amf ’ esta respondendo ? pode ser isso, verifica o arquivo de configuração do servlet e a String de chamada no call da parte client.
Entao, ja testei e nao funcionou.
Att
Cara também estou com uma aplicação flex 3 e java com o mesmo problema já procurei em tudo quanto é canto, a resposta mais precisa que eu descobri foi que existe um serviço me parece que é um firewall chamado mod_security no servidor, ele não deixar você usar sua biblioteca que faz a comunicação com o backend, portanto é preciso desativo, o que não parece ser dificil, geralmente é só comunicar ao lugar que você hospeda o serviço que eles fazem isso.
segue o link onde achei essa resposta
http://groups.google.com/group/flexdev/browse_thread/thread/c8f24525f135e477/dfeb0649f915e17f?lnk=gst&q=send+failed&utoken=38qKSyoAAACtnMH6EbwlKGIjkx6Oo5d_T4EbIBfTan8GRKQhWXPvARYcGe5KWtJda44_CQS8gQY
se der tudo certo ou errado avisa aí.
flw
bom galera, mandei um email para o meu host desabilitar o mod_security. Agora aguardar a resposta deles.
Voce nao esta chamando errado do seu Flex ?
Se esta assim no XML:
http://{server.name}:{server.port}/{context.root}/messagebroker/amf
Voce teria que acessar assim:
http://www.meuseite.com:8080/meuContexto/messagebroker/amf
Teste ai e fala.
Att
Por favor estou com esse problema ja a uma semana e nao consigo achar uma resolucao para esse caso.
Meu erro :
(mx.messaging.messages::ErrorMessage)#0
body = (Object)#1
clientId = (null)
correlationId = "2A6E3790-5F8D-91A3-0F79-1B3468728F8E"
destination = ""
extendedData = (null)
faultCode = "Client.Error.MessageSend"
faultDetail = "Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Failed: url: ‘http://www.guidefit.com.br/GuideFace/messagebroker/amf’"
faultString = "Send failed"
headers = (Object)#2
messageId = "4554600F-77B3-2FDA-2ECA-1B3468FEAE07"
rootCause = (mx.messaging.events::ChannelFaultEvent)#3
bubbles = false
cancelable = false
channel = (mx.messaging.channels::AMFChannel)#4
authenticated = false
channelSets = (Array)#5
[0] (mx.messaging::ChannelSet)#6
authenticated = false
channelIds = (Array)#7
[0] "my-amf"
channels = (Array)#8
[0] (mx.messaging.channels::AMFChannel)#4
clustered = false
connected = false
currentChannel = (mx.messaging.channels::AMFChannel)#4
initialDestinationId = (null)
messageAgents = (Array)#9
[0] (mx.rpc::AsyncRequest)#10
authenticated = false
autoConnect = true
channelSet = (mx.messaging::ChannelSet)#6
clientId = (null)
connected = false
defaultHeaders = (null)
destination = "Fachada"
id = "1845A757-3935-ACE5-7875-1B345DD3A654"
reconnectAttempts = 0
reconnectInterval = 0
requestTimeout = -1
subtopic = ""
connected = false
connectTimeout = -1
enableSmallMessages = true
endpoint = "http://www.guidefit.com.br/GuideFace/messagebroker/amf"
failoverURIs = (Array)#11
id = "my-amf"
mpiEnabled = false
netConnection = (flash.net::NetConnection)#12
client = (mx.messaging.channels::AMFChannel)#4
connected = false
objectEncoding = 3
proxyType = "none"
uri = "http://www.guidefit.com.br/GuideFace/messagebroker/amf"
piggybackingEnabled = false
polling = false
pollingEnabled = true
pollingInterval = 3000
protocol = "http"
reconnecting = false
recordMessageSizes = false
recordMessageTimes = false
requestTimeout = -1
uri = "http://{server.name}:{server.port}/GuideFace/messagebroker/amf"
url = "http://{server.name}:{server.port}/GuideFace/messagebroker/amf"
useSmallMessages = false
channelId = "my-amf"
connected = false
currentTarget = (mx.messaging.channels::AMFChannel)#4
eventPhase = 2
faultCode = "Channel.Connect.Failed"
faultDetail = "NetConnection.Call.Failed: HTTP: Failed: url: ‘http://www.guidefit.com.br/GuideFace/messagebroker/amf’"
faultString = "error"
reconnecting = false
rejected = false
rootCause = (Object)#13
code = "NetConnection.Call.Failed"
description = "HTTP: Failed"
details = "http://www.guidefit.com.br/GuideFace/messagebroker/amf"
level = "error"
target = (mx.messaging.channels::AMFChannel)#4
type = "channelFault"
timestamp = 0
timeToLive = 0
[RPC Fault faultString=“Send failed” faultCode=“Client.Error.MessageSend” faultDetail=“Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Failed: url: ‘http://www.guidefit.com.br/GuideFace/messagebroker/amf’”]
//service-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<services>
<service-include file-path="remoting-config.xml" />
<service-include file-path="proxy-config.xml" />
<service-include file-path="messaging-config.xml" />
</services>
<security>
<login-command class="flex.messaging.security.TomcatLoginCommand" server="Tomcat"/>
</security>
<channels>
<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>
<channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
<endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/>
<properties>
<add-no-cache-headers>false</add-no-cache-headers>
</properties>
</channel-definition>
<channel-definition id="my-polling-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolling" class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>4</polling-interval-seconds>
</properties>
</channel-definition>
</channels>
<logging>
<target class="flex.messaging.log.ConsoleTarget" level="Error">
<properties>
<prefix>[BlazeDS] </prefix>
<includeDate>false</includeDate>
<includeTime>false</includeTime>
<includeLevel>false</includeLevel>
<includeCategory>false</includeCategory>
</properties>
<filters>
<pattern>Endpoint.*</pattern>
<pattern>Service.*</pattern>
<pattern>Configuration</pattern>
</filters>
</target>
</logging>
<system>
<redeploy>
<enabled>false</enabled>
</redeploy>
</system>
Por favor quem souber como resolver agradeço bastante.
Abraco
Parece que quando vc chama se back-end nao esta identificando qual a porta.
Mostra seu codigo que faz a conexao com o java.
//remoting-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<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="Fachada">
<properties>
<source>
br.com.qualyfit.fachada.Fachada
</source>
</properties>
</destination>
A parte java
package br.com.RemoteObject
{
import mx.controls.Alert;
import mx.rpc.AsyncToken;
import mx.rpc.Responder;
import mx.rpc.events.FaultEvent;
import mx.rpc.remoting.mxml.RemoteObject;
public class InstanciaFachada extends RemoteObject
{
private static var singleton:InstanciaFachada;
public function InstanciaFachada(caller:Function = null){
super("amfphp");
this.showBusyCursor=true;
this.destination = "Fachada";
}
public static function getInstance():InstanciaFachada{
if (singleton==null){
singleton = new InstanciaFachada();
}return singleton;
}
}
}
Obrigado
Boa tarde, como o feltraco comentou está chamando WebContent em vez do serverContext, isso acontece por causa de um bug no Flash Builder.
Espero q lhe seja útil:
http://fabiophx.blogspot.com/2010/03/context-root.html
http://fabiophx.blogspot.com/2010/05/context-root-ii.html
[]s
Fabiophx, fiz a mudança que vc sugeriu e nao funcionou
Continuo com o mesmo erro. Caso queira ver o erro : www.guidefit.com.br
Abracao e peco ajuda pois nao estou conseguindo resolver esse problema.
Obrigado
Cara estava com esse erro que me ocorreu umas 2 vezes com foi subir minhas aplicações java é flex na primeira parece que eu liberei uma porta lá no servidor e funfou, agora na segunda vez foi feita uma alteração no Apache Tomcat que roda no servidor. Só que não sei qual foi essa alteração já que não foi eu que fiz.