Professional Documents
Culture Documents
Calculo de Frete com WebService dos Correios. | Blog Marcos Alexandre de Souza
marcosvbma@gmail.com
PGINA INICIAL
ASP.NET C#
HOSPEDAGEM
ASP.NET C#,
6
Rede Social
Tpicos recentes
Preencher ComboBox C# e Banco de Dados no Windows Forms DNAD2013 Arquitetura de Software Usando NOT IN clause no LINQ to SQ Qual a verso do .NET Framework disponvel na plataforma Windows? Hospedagem ASP.NET 4.0 e SQL 2008
Feito a criao de nossa blank solutions, vamos agora adicionar um novo projeto ASP.NET Web Applications, conforme exemplo abaixo. O nome do projeto e da pgina vocs fiquem a vontade para determina-los.
Comentrios
andre em Enviar Email com Asp.Net e C# andre em Enviar E-mail usando o Gmail e ASP.NET com C# Leonardo em Slide de Imagens com JQuery e Asp.Net Marcos Alexandre de Souza em Slide de
www.vbma.com.br/_blog/calculodefrete/#.Ujd9H9JwrXI
1/6
16/09/13
Calculo de Frete com WebService dos Correios. | Blog Marcos Alexandre de Souza
Imagens com JQuery e Asp.Net Leonardo em Slide de Imagens com JQuery e Asp.Net
Categorias
Selecionar categoria
Com o projeto criado, vamos trabalhar com a pgina que ir receber os dados de entrada e exibir o nosso calculo de frete. Nesse exemplo iremos calcular o sedex e o PAC. A imagem abaixo ilustra a nossa pgina, esse modelo apenas para explicar como funcionam os clculos de frete dos correios. Iremos informar para o webservice o valor do produto, cep de origem, cep de destino, peso do produto, comprimento da embalagem, altura da embalagem, largura da embalagem e caso haja o dimetro voc poder informar. Aps essas informaes iremos clicar no boto calcular frete e nossas pginas iro calcular o valor do sedex, PAC e o prazo de entrega do produto.
Estatstica
Este post: Total de visitas: Visitas hoje: Visitas ontem: Visitantes online: 2634 13156 40 26 2
ASP.NET 4.0 C#
Como Hospedar
hospedagem de sites
http://dnad.azurew ebsites.net/ amigvel WebService w w w .vbmahospedagem.com.br
Para que isso tudo funcione, vamos adicionar a referencia do webservice dos correios em nosso projeto. A imagem abaixo ilustra a referncia feita ao webservice.
Comentrios
andre em Enviar Email com Asp.Net e C# andre em Enviar E-mail usando o Gmail e ASP.NET com C# Leonardo em Slide de Imagens com JQuery e Asp.Net Marcos Alexandre de Souza em Slide de Imagens com JQuery e Asp.Net Leonardo em Slide de Imagens com JQuery e Asp.Net
Bom, nossa pgina foi criada fizemos referncia ao webservice, agora vamos programa o boto calcular frete. Vamos criar um mtodo privado chamado ConsultaWebServiceCorreios, esse mtodo far a comunicao com o servio dos correios e nos retornar o preo cobrado para envio do SEDEX e do PAC. O cdigo abaixo est comentado facilitando para voc o entendimento de cada linha de cdigo. 1 p r i v a t ed e c i m a lC o n s u l t a W e b S e r v i c e C o r r e i o s ( s t r i n gn u C e p D e s t i n o ,i n tS e r v i c o ,? d e c i m a l
www.vbma.com.br/_blog/calculodefrete/#.Ujd9H9JwrXI
2/6
16/09/13
2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 0 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 5 0 5 1 5 2 5 3 5 4 5 5 5 6 5 7 5 8 5 9 6 0 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 7 0 7 1 7 2 7 3 7 4 7 5 7 6 7 7 7 8 7 9 8 0 8 1 8 2 8 3 8 4 8 5 8 6 8 7 8 8 8 9 {
Calculo de Frete com WebService dos Correios. | Blog Marcos Alexandre de Souza
s t r i n gn u C e p=" 3 5 1 6 4 3 8 3 " ; T x t C i d a d e O r i g e m . T e x t=" I p a t i n g a " ; / /D a d o sd ae m p r e s a ,s et i v e rc o n t r a t oc o mo sC o r r e i o s s t r i n gn C d E m p r e s a=s t r i n g . E m p t y ; s t r i n gs D s S e n h a=s t r i n g . E m p t y ; / /C d i g od ot i p od ef r e t e-p o rp a d r od e i x e ioS E D E X s t r i n gn C d S e r v i c o=S e r v i c o . T o S t r i n g ( ) ; / /C e pd eo r i g e med e s t i n o-a p e n a sn m e r o s s t r i n gs C e p O r i g e m=n u C e p ; s t r i n gs C e p D e s t i n o=n u C e p D e s t i n o . R e p l a c e ( " . " ," " ) . R e p l a c e ( " " ," " ) . R e p l a c e ( " / " / /P e s ot o t a ld ae n c o m e n d a s t r i n gn V l P e s o=n u P e s o . T o S t r i n g ( ) ; / /F o r m a t od ae n c o m e n d a i n tn C d F o r m a t o=1 ;/ / C a i x a / /I n f o r m as ep o rm op r p r i a s t r i n gs C d M a o P r o p r i a=" N " ; / /V a l o rd e c l a r a d o d e c i m a ln V l V a l o r D e c l a r a d o=0 ;/ / n oi n f o r m a d o-p a d r a o / /S ed e s e j or e c e b ra v i s od er e c e b i m e n t o s t r i n gs C d A v i s o R e c e b i m e n t o=" N " ;/ / p o rp a d r a on o / /I n s t a n c i oow e b s e r v i c e C o r r e i o s . C a l c P r e c o P r a z o W Sw e b S e r v i c e C o r r e i o s=n e wC o r r e i o s . C a l c P r e c o P r a z o W S ( ) ; / /E f e t u oar e q u i s i o
C o r r e i o s . c R e s u l t a d or e t o r n o C o r r e i o s=w e b S e r v i c e C o r r e i o s . C a l c P r e c o P r a z o ( n C d E m p r e s a ,s D s S e n h a ,n C d S e r v i c o ,s C e p O r i g e m ,s C e p D e s t i n o ,n V l P / /V e r i f i c os eh r e t o r n o i f( r e t o r n o C o r r e i o s . S e r v i c o s . L e n g t h>0 ) { / /S ed e ut u d oc e r t o ,e n t or e t o r n aov a l o r i f( r e t o r n o C o r r e i o s . S e r v i c o s [ 0 ] . E r r o= =" 0 " ) { L b l P r a z o E n t r e g a . T e x t=r e t o r n o C o r r e i o s . S e r v i c o s [ 0 ] . P r a z o E n t r e g a . T o S t r i n g ( )+"d i a ( s ) . " r e t u r nd e c i m a l . P a r s e ( r e t o r n o C o r r e i o s . S e r v i c o s [ 0 ] . V a l o r . T o S t r i n g ( ) ) ; } e l s e { L b l M e n s a g e m . T e x t=r e t o r n o C o r r e i o s . S e r v i c o s [ 0 ] . M s g E r r o ; r e t u r n0 ; } } e l s e L b l M e n s a g e m . T e x t=" N OF O IP O S S V E LC O N S U L T A ROS E R V I OD E S E J A D O ! " ; r e t u r n0 ; }
www.vbma.com.br/_blog/calculodefrete/#.Ujd9H9JwrXI
3/6
16/09/13
9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 0 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 5 0 5 1 5 2 5 3 5 4 5 5 5 6 5 7 5 8 5 9 6 0 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 7 0 7 1 7 2 7 3 7 4 7 5 7 6 7 7 7 8 7 9 {
Calculo de Frete com WebService dos Correios. | Blog Marcos Alexandre de Souza
p r i v a t ev o i dC a l c u l a F r e t e ( )
i f( T x t V a l o r P r o d u t o . T e x t= =s t r i n g . E m p t y ) { L b l M e n s a g e m . T e x t=" P a r ac a l c u l a rof r e t en e c e s s r i oi n f o r m a rov a l o rd op r o d u t o . " r e t u r n ; } L b l M e n s a g e m . T e x t=s t r i n g . E m p t y ; s t r i n gn u C e p=T x t C e p D e s t i n o . T e x t ; d e c i m a lV l P r o d u t o=d e c i m a l . P a r s e ( T x t V a l o r P r o d u t o . T e x t . T o S t r i n g ( ) . R e p l a c e ( " R $ " , i f( n u C e p= =s t r i n g . E m p t y ) { L b l M e n s a g e m . T e x t=" D i g i t eon m e r od oc e p . " ; r e t u r n ; } i f( n u C e p . L e n g t h<8 ) { L b l M e n s a g e m . T e x t=" C e pd ed e s t i n oi n v l i d o . " ; r e t u r n ; } / / C a l c u l aoV a l o rd oF r e t e ,s i s t e m av e r i f i c aot a m a n h od a sc a i x a sp a r af a z e rc l c u l o . d e c i m a lV a l o r P a c=0 ; d e c i m a lV a l o r S e d e x=0 ; d e c i m a ln V l C o m p r i m e n t o=0 ; d e c i m a ln V l A l t u r a=0 ; d e c i m a ln V l L a r g u r a=0 ; d e c i m a ln V l D i a m e n t r o=0 ; n V l C o m p r i m e n t o=d e c i m a l . P a r s e ( T x t C o m p r i m e n t o . T e x t ) ; n V l A l t u r a=d e c i m a l . P a r s e ( T x t A l t u r a . T e x t ) ; n V l L a r g u r a=d e c i m a l . P a r s e ( T x t L a r g u r a . T e x t ) ; n V l D i a m e n t r o=d e c i m a l . P a r s e ( T x t D i a m e n t r o . T e x t ) ; V a l o r S e d e x=d e c i m a l . P a r s e ( C o n s u l t a W e b S e r v i c e C o r r e i o s ( T x t C e p D e s t i n o . T e x t ,4 0 0 1 0 ,n V l C o m p r i m e n t o ,n V l A l t u r a ,n V l L a r g u r a ,n V l D i a m e n t r o , V a l o r P a c=d e c i m a l . P a r s e ( C o n s u l t a W e b S e r v i c e C o r r e i o s ( T x t C e p D e s t i n o . T e x t ,4 1 1 0 6 ,n V l C o m p r i m e n t o ,n V l A l t u r a ,n V l L a r g u r a ,n V l D i a m e n t r o , T x t S e d e x . T e x t=V a l o r S e d e x . T o S t r i n g ( ) ; T x t P a c . T e x t=V a l o r P a c . T o S t r i n g ( ) ; }
Feito os procedimentos acima mencionados, teremos o resultado conforme a imagem abaixo. Veja que o webservice retornou para nossa pgina o valor do sedex e do PAC e tambm quantos dias para entrega dessa encomenda.
www.vbma.com.br/_blog/calculodefrete/#.Ujd9H9JwrXI
4/6
16/09/13
Calculo de Frete com WebService dos Correios. | Blog Marcos Alexandre de Souza
Para podermos conferir se os valores retornados esto mesmo corretos, vamos entrar no site dos correios atravs e preencher as mesmas informaes que fornecemos para nossa pgina. Vendo nas imagens abaixo, podemos comprovar que nosso calculo de frete est correto, agora s adicionar em seus projetos e boa sorte.
O artigo explica de forma clara e objetiva como fazer acesso ao webservice dos correios e retornar as informaes de clculos de fretes para Sedex e Pac, como tambm o prazo de entrega. Alm voc tem uma viso de como trabalhar com WebServices e poder aplicar em outros tipos de projetos que tenham necessidade de ler WebService. Qualquer dvida voc poder entrar no DevBrasil e postar seus comentrios. Para saber mais Aprofunde seus conhecimentos na comunidade de Asp.Net Conhea o MID (Most Influential Developer) e faa parte desse time Blog ThiagoMarcal Correios MSDN WebService Correios CalculoPreoPrazo Prazo via correios Procurando uma hospedagem de sites? Acesse Vbma Hospedagem .
www.vbma.com.br/_blog/calculodefrete/#.Ujd9H9JwrXI
5/6
16/09/13
Email
Calculo de Frete com WebService dos Correios. | Blog Marcos Alexandre de Souza
Site
Comentrio
Voc pode usar estas tags e atributos de HTML: < ah r e f = " "
t i t l e = " " >< a b b rt i t l e = " " >< a c r o n y mt i t l e = " " >< b > < b l o c k q u o t ec i t e = " " >< c i t e >< c o d e >< d e ld a t e t i m e = " " >< e m > < i >< qc i t e = " " >< s t r i k e >< s t r o n g >
PGINA INICIAL
ASP.NET C#
HOSPEDAGEM
www.vbma.com.br/_blog/calculodefrete/#.Ujd9H9JwrXI
6/6