Programa java para consulta web service dos correios

Boa tarde, queria saber como desenvolver uma aplicação em Java para consumir o web service que calcula frete dos correios!
Queria que esse aplicação fosse em Java SE, já que tenho maior conhecimento nesse. Preciso de ajudar pra saber como começar, como usar os XML o que fazer.

comece por aqui:

http://www.correios.com.br/webServices/PDF/SCPP_manual_implementacao_calculo_remoto_de_precos_e_prazos.pdf

Já li esse documento, to perdido mesmo é na hora do Java, na hora de chamar os métodos e passando meus argumentos.

bom, eu uso eclipse e tomara que vc use tambem xD

a primeira coisa eh criar as classes java que vao acessar o ws. eu uso o apache axis pra fazer isso, nao gosto da implementacao da sun.
o eclipse eh bem sussa fazer, da um new web service client e passa a url do web service. siga os next da vida q ele vai gerar as classes depois disso, vc vai usar + ou - assim:

CalcPrecoPrazoWSSoap soap = new CalcPrecoPrazoWSLocator().getCalcPrecoPrazoWSSoap();
CResultado resultado = soap.calcPrecoPrazo(varios parametros que o ws exige vai aqui);

entendeu?

Isso pode ser feito com Java SE? ou só Web?

Hokos voce conseguiu resolver esta questão? caso tenha… como vc resolveu?

Ainda não, meu objetivo é usar isso em Java SE, mas meu eclipse não apresento as opções que nosso amigo disse…
Quero saber se consigo em Java SE!

java se consegue tranquilamente.

o seu eclipse nao tem oq e disse prq ele deve ser o eclipse mais simples, utilize o novo indigo para JEE porque ae vem o axis junto.

Beleza, vou tentar aqui e depois dou um retorno.

qlqer coisa eh so falar.

Depois que eu faco isso aqui:

CalcPrecoPrazoWSSoap soap = new CalcPrecoPrazoWSLocator().getCalcPrecoPrazoWSSoap();
CResultado resultado = soap.calcPrecoPrazo(varios parametros que o ws exige vai aqui);

Qual o proximo passo, como faco para mostrar o resultado retornado?
To tetando mas nao sei o rumo!
VAlew

[quote=rocoradi]Depois que eu faco isso aqui:

CalcPrecoPrazoWSSoap soap = new CalcPrecoPrazoWSLocator().getCalcPrecoPrazoWSSoap();
CResultado resultado = soap.calcPrecoPrazo(varios parametros que o ws exige vai aqui);

Qual o proximo passo, como faco para mostrar o resultado retornado?
To tetando mas nao sei o rumo!
VAlew[/quote]

O Objeto resultado contém todas as informações que vc precisa

result.getServicos().getCServico().get(0).getPrazoEntrega();

seria isso né? ele vai em retornar o valor do consumido?

[quote=rocoradi]result.getServicos().getCServico().get(0).getPrazoEntrega();

seria isso né? ele vai em retornar o valor do consumido?[/quote]

Não lembro ao certo, ja faz alguns anos que não trabalho com esse ws, mas o caminho sei que é por ae

[]'s

Para extrai o resultado faz desta forma abaixo

package br.com.raiatools;

import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import org.tempuri.CResultado;
import org.tempuri.CServico;
import org.tempuri.CalcPrecoPrazoWSLocator;
import org.tempuri.CalcPrecoPrazoWSSoap;
import org.tempuri.Servicos;

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;

public class ClienteWebService {

private static final String URL_WEBSERVICE =
			"http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?" +
			"nCdEmpresa=09146920&sDsSenha=123456&sCepOrigem=70002900&s" +
			"CepDestino=71939360&nVlPeso=1&nCdFormato=1&nVlComprimento=30&" +
			"nVlAltura=30&nVlLargura=30&sCdMaoPropria=n&nVlValorDeclarado=0&sCdAvisoRecebimento=n&nCdServico=40010&nVlDiametro=0&StrRetorno=xml&nIndicaCalculo=3";

public static void main(String[] args) {		
			
	try {
	
	java.lang.String nCdEmpresa="09146920";
	java.lang.String sDsSenha="123456";
	java.lang.String nCdServico="40010";
	java.lang.String sCepOrigem="70002900"; 
	java.lang.String sCepDestino="71939360"; 
	java.lang.String nVlPeso="1"; 
	int nCdFormato=1; 
	java.math.BigDecimal nVlComprimento=new BigDecimal(30); 
	java.math.BigDecimal nVlAltura=new BigDecimal(30);
	java.math.BigDecimal nVlLargura= new BigDecimal(30); 
	java.math.BigDecimal nVlDiametro= new BigDecimal(0); 
	java.lang.String sCdMaoPropria="n"; 
	java.math.BigDecimal nVlValorDeclarado=new BigDecimal(30);
	java.lang.String sCdAvisoRecebimento="n";			
		
	CalcPrecoPrazoWSSoap soap = new CalcPrecoPrazoWSLocator().getCalcPrecoPrazoWSSoap(); 
	
	CResultado resultado = soap.calcPrecoPrazo(nCdEmpresa, sDsSenha, nCdServico, sCepOrigem, sCepDestino, nVlPeso, nCdFormato, nVlComprimento, nVlAltura, nVlLargura, 
			nVlDiametro, sCdMaoPropria, nVlValorDeclarado, sCdAvisoRecebimento); 
	
			
	org.tempuri.CServico[] service = resultado.getServicos();
		
	for (int i=0; i<service.length; i++) {
		CServico servico = (CServico) service[i];
		
			System.out.println(servico.getCodigo());
			System.out.println(servico.getValor());
			System.out.println(servico.getPrazoEntrega());
			
		
	}
	
	
	}catch (IOException e) {
		throw new RuntimeException(e);
	
	}catch (Exception e) {
		// TODO: handle exception
		e.printStackTrace();
	} finally {
		//connection.disconnect();
	}			
}

}