Olá pessoal,
estou desenvolvendo uma aplicação com Ajax, em cima do Apache Tomcat 6.
E existe um problema ao fazer requisições de outros domínio, pois por segurança isto não é permitido.
Já vasculhei, e tudo que achei não deu certo.
Gostaria de saber se vocês conhecem algum Script em JSP, que faça o seguinte.
Ao acessar localhost:8080/site/crossdomain.jsp, o Script fará a requisição do arquivo dominio.com/xml.xml.
Outro problema, é que minha máquina fica atrás de um proxy, que solicita usuário e senha.
Resumindo…
O Script faz a requisição de uma url na net, e é possível configurar o proxy neste Script (Ip, porta, usuário e senha).
Alguém pode me ajudar?
Marcelo,
Da uma olhada no server.xml do Tomcat.
Acho que ali é possível configurar o proxy para o Tomcat.
Marcelo, da pra fazer cross domain request via AJAX sim. Com JSONP… nada mais eh do que uma tecnicazinha… da uma olhada em http://ahalmeida.com/2009/10/04/cross-domain-ajax-requests-with-jsonp/
Qualquer duvida em como fazer depois manda ae.
[]'s
Já configurei o Proxy do Tomcat, mas ainda não está funcionando.
Em PHP é tão simples…
$session = curl_init("dominio.com/xml.xml"); // Open the Curl session
curl_setopt($session, CURLOPT_HEADER, false); // Don't return HTTP headers
curl_setopt($session, CURLOPT_RETURNTRANSFER, true); // Do return the contents of the call
curl_setopt($session, CURLOPT_PROXY, "http://10.1.1.1:3128");
curl_setopt($session, CURLOPT_PROXYUSERPWD, "user:pass");
$xml = curl_exec($session); // Make the call
header("Content-Type: text/xml"); // Set the content type appropriately
echo $xml; // Spit out the xml
curl_close($session); // And close the session
Consegui…
[code]<%@page session=“false”%><%@page import=“java.net.,java.io.” %><%
String reqUrl = "http://feedparser.org/docs/examples/atom10.xml";
URL url = new URL(reqUrl);
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setDoOutput(true);
con.setRequestMethod(request.getMethod());
int clength = request.getContentLength();
if(clength > 0) {
con.setDoInput(true);
byte[] idata = new byte[clength];
request.getInputStream().read(idata, 0, clength);
con.getOutputStream().write(idata, 0, clength);
}
response.setContentType(con.getContentType());
BufferedReader rd = new BufferedReader(new InputStreamReader(con.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
out.println(line);
}
rd.close();
%>[/code]
Agora só falta eu implementar a autenticação do proxy com ip, porta, senha, e usuário.
Desculpe se não entendi direto sua duvida, mas um SSO (single sign on) não te ajuda?
http://pt.wikipedia.org/wiki/Single_sign-on