Olá novamente Anderson...
Então cara, o aplicação FLEX (o swf final) está dentro do contexto da
minha aplicação. ou seja dentro da WebApp chamada "AplicacaoFlexJava".
O contexto do action chamado e do swf é o mesmo.
O problema é quando eu coloco o bendito do "http://"; dentro da
propriedade URL do HTTPService. Ele acha que estou tentando acessar
uma aplicação externa, não sei e por isso dá o problema.

O que eu fiz também foi criar um Servlet que tem o objetivo apenas de
retransmitir a URL, só que para acessar o Servlet eu tinha que colocar
o "http://192.168.0.1:8084/....";, ou seja o caminho até o meu servlet
e com isso acontecia o mesmo problema. Peguei então esse servlet e
transformei em JSP, onde eu coloquei na URL "JSPProxy.jsp?url=http://
192.168.0.1:8084/.....", daí funcionou. Porque, pelo que entendi, como
coloco só a JSP ele procura no local onde está no contexto pela JSP,
encontra e faz o redirecionamento ao action.

Como eu disse, eu não entendi mesmo o porque desse erro, já que o swf
e o action são do mesmo contexto, da mesma aplicação.

E não estou utilizando o BlazeDS, eu cheguei a fazer um exemplo com
ele, mas acabei nem utilizando. Só estou comentando sobre isso, porque
aqui nesse post " 
http://groups.google.com.br/group/flexdev/browse_thread/thread/a73b3f1d3beb5f20
", o Mário Júnior está falando justamente sobre Sessão Java + Flex.

Estou utilizando a versão 1.2.9 do Struts.

Cara, muito obrigado mesmo. E não sei o que está acontece, tipo, o swf
e o action não teriam que se enchergar por estarem no mesmo contexto?

Obrigado mais uma vez Anderson...

Atenciosamente,

Júnior

On 30 out, 16:29, "Anderson Satriani" <[EMAIL PROTECTED]>
wrote:
> Ola Junior,
>
> Aparentemente esta certo, mas deixa eu ver se entendi sua arquitura: Vc tem
> uma WebApp chamada "AplicacaoFlexJava", e nele contem Action Struts que
> serve como chamadas de serviço para seu projeto Flex(no caso SWF), que esta
> rodando em outro contexto (É isso mesmo?), pois como voçê comentou, ocorre a
> violação de acesso ao recurso e por isso estais usando o
> crossdomain.xml(nesse caso dentro da sua WebApp) para liberar esses acessos.
>
> Bom, a unica diferença eh que quando precisei utilizar o crossdomain.xml foi
> um esquema parecido, so que acessei um Servlet ao invez de Actions Struts,
> ja que se tratave de serviços simples(upload de imagens) pra nao ter que
> subutilizar recursos. Entao tente fazer um teste com Servlet para ver se
> funciona.
>
> Ah, nesse caso meu crossdomain.xml ficou assim:
>
> <?xml version="1.0??>
> <cross-domain-policy>
> <allow-access-from domain="*" />
> </cross-domain-policy>
>
> PS:So pra constar, qual versao do Struts estais usando?
>
> 2008/10/30 juniorgarcon <[EMAIL PROTECTED]>
>
>
>
>
>
> > Olá Anderson, tudo bem cara?
> > Antes de mais nada queria agradecer aí pela atenção cara... rs...
> > E o meu arquivo de crossdomain.xml eu fiz assim:
> > <?xml version="1.0"?>
> > <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/
> > cross-domain-policy.dtd<http://www.adobe.com/xml/dtds/cross-domain-policy.dtd>
> > ">
> > <cross-domain-policy>
> > <site-control permitted-cross-domain-policies="all">
> >    <allow-access-from domain="*">
> >    </allow-access-from>
> >    <allow-http-request-headers-from domain="*"  to-ports="*">
> >    </allow-http-request-headers-from>
> >  </site-control>
> > </cross-domain-policy>
>
> > também tentei assim:
>
> > <?xml version="1.0"?>
> > <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/
> > cross-domain-policy.dtd<http://www.adobe.com/xml/dtds/cross-domain-policy.dtd>
> > ">
> > <cross-domain-policy>
> >  <allow-access-from domain="*" to-ports="*" />
> > </cross-domain-policy>
>
> > e assim:
> > <?xml version="1.0"?>
> > <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/
> > cross-domain-policy.dtd<http://www.adobe.com/xml/dtds/cross-domain-policy.dtd>
> > ">
> > <cross-domain-policy>
> > <allow-access-from domain="*" secure="false"/>
> > </cross-domain-policy>
>
> > Mais não funcionou dos 3 jeitos, sempre dava o erro de segurança. Como
> > eu disse, eu coloquei na raiz da minha aplicação ("http://
> > 192.168.0.1:8084/AplicacaoFlexJava/crossdomain.xml") e configurei no
> > flex para acessar esse XML.
>
> > áh, só para informar: estou usando JAVA (Struts) + Flex + Apache
> > Tomcat.
>
> > Obrigado mais uma vez aí, pessoal... E obrigado mesmo Anderson...
>
> > Abraços...
>
> > On 30 out, 14:50, "Anderson Satriani" <[EMAIL PROTECTED]>
> > wrote:
> > > Ola Júnior,
>
> > > Tem como vc postar o seu arquivo crossdomain.xml? Pra gente ver seu
> > esquema
> > > de acesso.
>
> > > 2008/10/30 juniorgarcon <[EMAIL PROTECTED]>
>
> > > > Olá Pessoal do fórum, tudo bem aí como todo mundo? Eu espero que sim.
> > > > Boa tarde a todos.
>
> > > > Estou começando a desenvolver em Flex e acabei de finalizar minah
> > > > primeira aplicação. Esta aplicação tem por objetivo exibir uma galeria
> > > > de imagens e fornecer  ferramentas de brilho e contraste para o
> > > > usuário. Os caminhos das imagens a ser exibidas são enviados por uma
> > > > aplicação JAVA já existente através de um arquivo XML. A aplicação
> > > > Flex faz uma solicitação através de um HTTPService para o Java (action
> > > > do Struts) onde é obtido o arquivo XML.
> > > > Minha aplicação estava funcionando "bunitinha", funcionando da maneira
> > > > que eu queria, até o momento em que resolvi testar pela rede
> > > > (intranet) e internet então, o problema piora... rs
> > > > Quando o HTTPService tenta acessar o action contido na minha
> > > > aplicação, é exibida a seguinte mensagem:
>
> > > > Security Error Accessing URL
> > > > faultCode:Channel.Security.Error faultString:'Security error accessing
> > > > url' faultDetail:'Destination: DefaultHTTP'
>
> > > > Fui atrás de informações para a resolução deste problema.
> > > > - Criei o arquo "crossdomain.xml", joguei na raiz da minha aplicação
> > > > ("http://192.168.0.1:8084/AplicacaoFlexJava/crossdomain.xml";) e
> > > > configurei minha aplicação Flex da seguinte maneira, na função
> > > > "init()":
> > > > Security.allowDomain("*");
> > > > Security.loadPolicyFile("http://192.168.0.1:8084/AplicacaoFlexJava/
> > > > crossdomain.xml<
> >http://192.168.0.1:8084/AplicacaoFlexJava/crossdomain.xml>
> > > > ");
> > > > E nada funcionou.
>
> > > > - Resolvi criar um servlet de proxy para ser acessado pelo flex, mas
> > > > também não funcionou.
> > > > - Modifiquei esse servlet para se tornar uma JSP e realizar o acesso
> > > > ao meu action do struts. Eu consigo o acesso, fazendo uma atribuição :
> > > > <mx:HTTPService url="JSPProxy.jsp?url=http://192.168.0.1:8084/
> > > > AplicacaoFlexJava/carregarDados.do<
> >http://192.168.0.1:8084/AplicacaoFlexJava/carregarDados.do>"
> > > > useProxy="false" ........ />
> > > > Isso funciona, mas tive que modificar o meu action que antes pegava os
> > > > dados da sessão, pois chamando desta maneira acima as sessões parecem
> > > > ser diferentes. É como se o SWF não estivesse no mesmo servidor que a
> > > > aplicação.
>
> > > > Eu modifiquei e está funcionando mais ou menos da maneira que eu
> > > > queria, consegui solucionar o problema, mas não consigo utilizar isso
> > > > corretamente na web, principalmente em conexão HTTPS.
>
> > > > Gostaria muito da ajuda de vocês, não sei o que eu estou fazendo de
> > > > errado com a configuração do crossdomain. E não era para eu conseguir
> > > > acessar tranquilamente meu action do java?! TIpo, eu não poderia
> > > > colocar na URL do HTTPService o caminho direto do action, sem precisar
> > > > passar por um "proxy" ? ou até mesmo acessar o action do struts sem
> > > > precisar informar o ip ne nada na configuração da URL, exemplo:
> > > > <mx:HTTPService url="/carregarDados.do" useProxy="false" ..... />
>
> > > > Pessoal, por favor, gostaria muito que me ajudassem, não sei o que
> > > > fazer para resolver esse problema.
>
> > > > Muito obrigado desde já, por toda a ajuda que têem me dado.
>
> > > > Obrigado mesmo.
>
> > > > Abraços a todos.
>
> > > > Atenciosamente,
>
> > > > Júnior
>
> > > --
> > > Anderson Silveira
> > > Desenvolvedor de Sotfware
> > > Site:http://jsatriani.wordpress.com
> > > MSN: [EMAIL PROTECTED]
>
> --
> Anderson Silveira
> Desenvolvedor de Sotfware
> Site:http://jsatriani.wordpress.com
> MSN: [EMAIL PROTECTED]
--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a