Meu projeto esta pronto, passei ele para o servidor, para acessar o banco na minha máquina mas dai estava dando esse erro no flex.
Send Failed
restaurei o banco no servidor acessando localmente e ainda dá o erro
[FaultEvent fault=[RPC Fault faultString=“Send failed” faultCode=“Client.Error.MessageSend” faultDetail=“Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 404: url: ‘http://192.168.@@.@@@:12XX/NOME_MEU_PROJETO/messagebroker/amf’”] messageId=“4917B6D7-9D0A-72A4-FB74-2C0B599F1C71” type=“fault” bubbles=false cancelable=true eventPhase=2]
e configurei o o .flexproperties
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<flexProperties enableServiceManager=“false” flexServerFeatures=“4” flexServerType=“2”
serverContextRoot="/NOME_MEU_PROJETO"
serverRoot=“C:/Users/Programacao.PROGRAMACAO07/workspace/NOME_MEU_PROJETO/WebContent”
serverRootURL=“http://192.168.@@.@@@:12XX/NOME_MEU_PROJETO” toolCompile=“true” useServerFlexSDK=“false” version=“2”/>
No service-config.xml
só mudei essa linha
<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>
para fica assim
<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
</channel-definition>
Não sei se falta alterar mais algo, mas só essa alteração não foi suficiente para resolver o problema.
O sistema ainda me retorna mensagem de erro
[FaultEvent fault=[RPC Fault faultString=“Send failed” faultCode=“Client.Error.MessageSend” faultDetail=“Channel.Security.Error error Error #2048 url: ‘http://teste/messagebroker/amf’”] messageId=“AA8D5A3A-420F-64A8-F48E-2FAD93330482” type=“fault” bubbles=false cancelable=true eventPhase=2]
Vc precisa colocar dessa forma:
[]s
Mudou a mensagem de erro
[FaultEvent fault=[RPC Fault faultString=“Send failed” faultCode=“Client.Error.MessageSend” faultDetail=“Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 404: url: ‘http://192.168.55.222:1234/teste/messagebroker/amf’”] messageId=“250B546B-4422-4B63-73B6-2FB5D0A26C83” type=“fault” bubbles=false cancelable=true eventPhase=2]
<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="{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>
Digita a url informada na mensagem
http://192.168.55.222:1234/teste/messagebroker/amf
no browser, se abrir uma tela em branco é pq o servlet subiu corretamente.
teste é o teu projeto? Se sim e o servlet está ok tb, fico na dúvida o q pode ser.
[]s
Me chamou atenção essa porta 1234. Está correto, normalmente é 8080 ou 80.
Acessando a página
dá este erro
Objeto não encontrado!
A URL requisitada não foi encontrada neste servidor. Se você digitou o endereço (URL) manualmente, por favor verifique novamente a sintaxe do endereço.
Se você acredita ter encontrado um problema no servidor, por favor entre em contato com o webmaster.
Error 404
A questão desta porta é que estou publicando ela em rede interna usando o xampp no servidor… por isso utilizo o 1234
Se esse erro ocorreu ao digitar o caminho messagebroker/amf é pq o servlet não subiu.
Vc fala em server xampp q é php, o web.xml, servlets é java.
Para configurar remoteobject para php não saberia te ajudar.
[]s
RemoteObject usando o Java
<mx:RemoteObject id="ServiceLogin" destination="loginAdmin" >
<mx:method name="logar" result="method1_resultHandler(event)" fault="method1_faultHandler(event)"/>
</mx:RemoteObject>
Então, pela tua mensagem o servlet não está subindo, acho q só olhando a log para ver se tem alguma dica, jars do blaze, etc.
[]s
Alguma dica de como se resolver?
Como comentei, estando os jars no path e não está abrindo tela em branco no browser ao digitar o caminho messabroker/amf, fica complicado dar um palpite certeiro.
Talvez na log do Tomcat se encontre alguma pista.
[]s
O uso de cross domain será que irá resolver?
Acredito q não, o cross domain é só qd vc está tentando acessar algum recurso de outro servidor q não o seu.
[]s
mudei o meu serviço
Assim roda na minha máquina perfeitamente
<mx:RemoteObject id="ServiceLogin" destination="loginAdmin" endpoint="http://localhost:8080/TESTE/messagebroker/amf " >
<mx:method name="logar" result="method1_resultHandler(event)" fault="method1_faultHandler(event)"/>
</mx:RemoteObject>
no servidor eu acesso o programa pelo navegador http://192.168.55.222:1234/teste, ele abre certinho mas dai dá o maldito erro quando chamo os services.
Claro… que eu faço as alterações necessárias, mas da mesma maneira dá erro.
<mx:RemoteObject id="ServiceLogin" destination="loginAdmin" endpoint="http://192.168.55.222:1234/TESTE/messagebroker/amf " >
<mx:method name="logar" result="method1_resultHandler(event)" fault="method1_faultHandler(event)"/>
</mx:RemoteObject>
Vc não precisa informar o endpoint no RemoteObject, pq já está informado no services-config.xml.
O q acredito q está acontecendo é q endpoint vc coloca TESTE em maiúsculo como context e no browser como minúsculo, localhost normalmente é menos restritivo.
[]s
Ali é só um exemplo, mesmo estando igual o nome do projeto, dá o problema
Esta configuração está correta?