RESOLVIDO.

Vou postar aqui vai que algum azarado como eu passe por isso...
Na verdade a solução é um workaround, mas vamos lá pois ela funciona muito
bem.
As tecnologias empregadas são Flex e PHP como backend.

Recapitulando, minha aplicação está uma rede X e tenho usuários de uma rede
Y fora da rede X, logo os usuários da rede Y acessam via IP diferente dos
usuários da rede X, é o que chamamos de IP Nateado.
O problema é que no services.xml está apontado para um único IP.

Teste as sugestões postadas como usar subdomínio sem usar o IP, mas isto não
funciona. A estratégia que fiz foi criar um novo channel com o IP diferente,
e na inicialização da aplicação, eu verifico qual a URL que o cliente está
acessando e daí alterno o channel.

O services.xml ficou assim:

<services-config>
    <services>
        <service id="amfphp-flashremoting-service"
class="flex.messaging.services.RemotingService"
messageTypes="flex.messaging.messages.RemotingMessage">
                <destination id="amfphp">
                        <channels>
                                <channel ref="my-amfphp"/>
                        </channels>
                        <properties>
                                <source>*</source>
                        </properties>
                </destination>
                <destination id="amfphp2">
                        <channels>
                                <channel ref="my-amfphp2"/>
                        </channels>
                        <properties>
                                <source>*</source>
                        </properties>
                </destination>
        </service>
    </services>
    <channels>
        <channel-definition id="my-amfphp"
class="mx.messaging.channels.AMFChannel">
            <endpoint uri="http:/X/amfphp/gateway.php"
class="flex.messaging.endpoints.AMFEndpoint"/>
        </channel-definition>
        <channel-definition id="my-amfphp2"
class="mx.messaging.channels.AMFChannel">
            <endpoint uri="http://Y/amfphp/gateway.php";
class="flex.messaging.endpoints.AMFEndpoint"/>
        </channel-definition>
    </channels>
</services-config>


Meu Remote Object:

<mx:RemoteObject id="ro" showBusyCursor="true" source="FileG.FileSet"
destination="amfphp">
        <mx:method name="teste" result="result(event)"
fault="resultError(event)"/>
</mx:RemoteObject>

No init da apliacação:

private function init():void{
  var myArray:Array = mx.core.Application.application.url.split("/");
  var domain:String = myArray[2].toString();
  if ((domain!="")&&(domain!="X")){
     ro.destination="amfphp2";
 }
}

Bom, como este problema não é popular e deverá ocorrer a cada mil anos,
assim espero poupar o tempo de quem nos próximos 1000 anos irá se deparar
com ele.

Abraços.

Michel

2009/11/17 Rodrigo Barrocal <barrocal.rodr...@gmail.com>

>
> Aqui onde trabalho resolvemos problemas assim com DNS. não usamos IP,
> usamos por nome.
>
> Parece que você quer que um IP 200.*.*.* acesse um IP 10.*.*.* sendo
> que os dois não estão na mesma rede.
>
> Ou você faz a empresa do IP 200.*.*.* chegar por um VPN ou coloque o
> IP 10.*.*.* para um IP Externo e feche o acesso a essa IP por
> firewall....
>
> A vezes Aplicação não resolve tudo. você precisa de um rede bem
> configurada.
>
> On 16 nov, 16:28, Michel Fernandes <miche...@gmail.com> wrote:
> > Digitei errado Eduardo... Eu quis dizer exatamente o oposto, faltou um
> > não...
> >
> > Abraço.
> >
> > 2009/11/16 Eduardo Kraus <eduardokr...@gmail.com>
> >
> > > "mas sua solução deu certo, infelizmente"
> >
> > > Não entendi!
> >
> > > 2009/11/16 Michel Fernandes <miche...@gmail.com>
> >
> > > Eduardo, agora tive tempo de retomar aquele problema, mas sua solução
> deu
> > >> certo, infelizmente...
> >
> > >> error NetConnection.Call.BadVersion: : url: 'http:/amfphp/gateway.php'
> >
> > >> Ele está entendendo que antes do /amfphp/gateway.php vem o http e aí
> não
> > >> funciona...:-(
> >
> > >> Mais alguma idéia?
> >
> > >> Obrigado.
> >
> > >> 2009/11/5 Michel Fernandes <miche...@gmail.com>
> >
> > >> Vou testar, mas te antemão, me parece que irá funcionar!
> >
> > >>> Obrigado!
> >
> > >>> 2009/11/4 Eduardo Kraus <eduardokr...@gmail.com>
> >
> > >>>  Configura o services.xml para apontar url relativa.
> >
> > >>>> Esta assim:
> > >>>>http://10.1.5.25/aplicacao/amfphp/gateway.php
> > >>>> Muda para assim:
> > >>>> /aplicacao/amfphp/gateway.php
> > >>>>  *
> > >>>> Eduardo Kraus*
> > >>>> Desenvolvedor
> > >>>> eduardokr...@gmail.com
> > >>>> blog.mxml.com.br
> > >>>>www.twitter.com/EduardoKraus
> >
> > >>>> 2009/11/4 Michel Fernandes <miche...@gmail.com>
> >
> > >>>>> Pessoal, boa tarde.
> >
> > >>>>> Agora estou com um problemão e sem nenhum POG para pensar agora.
> > >>>>> Minha aplicação roda na rede corporativa, mas existe uma outra
> empresa
> > >>>>> que acessa a minha rede, porém como estão em redes distintas, eles
> > >>>>> acessam via um endereço que o IP é diferente (nateado).
> > >>>>> O meu problema é que todos os endereços do AMFPHP e do PHP (conexão
> > >>>>> com o banco) está apontado para o endereço da corporativa. Agora
> como
> > >>>>> faço para que os 2 ips consigam acessar, já que no services.xml do
> AMF
> > >>>>> está setado para 1 IP?
> >
> > >>>>> Abraços.
> >
> > >>>>> Michel
> --~--~---------~--~----~------------~-------~--~----~
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> Para sair da lista, envie um email em branco para
> flexdev-unsubscr...@googlegroups.com
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
> -~----------~----~----~----~------~----~------~--~---
>
>

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a