JSP + Ajax + calculo de sedex

8 respostas
ekszuki

Bom dia,

Gostaria de saber como usar o ajax para consumir o webservice de calculo de sedex do correio.


http://www.correios.com.br/encomendas/precos/calculo.cfm?cepOrigem=15910000&cepDestino=14890000&peso=2&resposta=xml

Pelo que eu pude perceber só consigo usar o Ajax em páginas que estão em meu próprio servidor e não em servidores remotos.

Como eu deve fazer para conseguir receber o xml de resposta gerado pelo site dos correios dentro da minha página jsp e processa-la para imbutir o valor do sedex no boleto que eu pretendo gerar ?

Att,

8 Respostas

nbluis

Faça um ajax que requisite um pagina sua, e ela por sua vez chama o webservice do servidor do correio e trata os dados.

tipo um fachada entende?

até para diminuir o acoplamento…

ekszuki

Eu estou tentando fazer isso, mas ele não está jogando nada como resposta para a a função de calback do ajax…

se eu chamo diretamente o meu servelt via url no browser ele funciona e eu consigo ver o xml no navegador, mas se eu chamo o meu servelt via ajax ele chama a função de callback mas nao joga nada como parametro

estou tentando fazer assim :

CalcularSedex.java

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;



public class CalcularSedex extends Action {

	@Override
	public ActionForward execute(ActionMapping map, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		// TODO Auto-generated method stub
		response.sendRedirect("http://www.correios.com.br/encomendas/precos/calculo.cfm?cepOrigem=15910000&cepDestino=14890000&peso=2&resposta=xml");
		
		return super.execute(map, form, request, response);
	}
	

}

Acredito que eu não possa fazer um redirect, mas infelizmente não consegui pensar em nenhuma outra coisa.

O que deve estar errado ?

Att,

nbluis

Não, pelo amor de deus, redirect não …
o redirect apenas troca o cabecalho http.

Faça este seu action requisitar ao web service e pegar o retorno…

ekszuki

Sim, mas como fazer isso de dentro do servet ?

Att,

nbluis

É um webservice mesmo?
RPC, SOAP, REST, POX?

depende…
você pode fazer um ultra gambi fazendo uma requisicao httpsimples e tratando os dados na mão, ou utilizar um clientws pronto para a implementação de webservice que tu tem …

ekszuki

O que seria mais recomendado, no caso do SOAP eu teria que utilizar o wsdl ou não teria necessidade ?

proteus1

Eae ekszuki blz?! conseguiu finalizar o sistema de calculo de sedex???

Estou fazendo um projeto e gostaria de utilizar o seu código, mas estou com dificuldade de implementar.

J

Estou com o mesmo problema. Preciso chamar via ajax uma pagina de um outro servidor. Estou usando tmb jsp e ajax. Alguem pode dar uma ajudinha?

Criado 25 de maio de 2007
Ultima resposta 24 de jul. de 2008
Respostas 8
Participantes 4