Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Informações sobre o webservice dos correios
Message
 
To
21/02/2007 08:59:58
General information
Forum:
Visual FoxPro
Category:
Internet applications
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows 2000 Server
Database:
MySQL
Miscellaneous
Thread ID:
01193891
Message ID:
01202407
Views:
20
Fala Claudio, belezzzzzzzzz?????????

Desculpe a demora, mas e que quase não venho aqui, se vc quiser contatar comigo mais fácil use o msn rpdbarros@hotmail.com

Eu já consegui fazer o acesso via VFP e posto abaixo o código que usei. Agora, devido minha total inexperiência com XML e WebService, eu não estou sabendo tratar o que retorna. Veja se vc consegue alguma coisa por ai.

Faça o seguinte:
Crie um form e nele coloque:
- um textbos para digitar o CEP
- um editbox para ver o retorno
- um botão e no click do botão coloque o código abaixo:
LOCAL loQueryProcessor AS "XML Web Service"
* LOCAL loQueryProcessor AS "MSSOAP.SoapClient30"
* Do not remove or alter following line. It is used to support IntelliSense for your XML Web service.
*__VFPWSDef__: loQueryProcessor = http://consultacep.correios.com.br/office2003/query.asmx?WSDL , QueryProcessor , QueryProcessorSoap
LOCAL loException, lcErrorMsg, loWSHandler
TRY
	loWSHandler = NEWOBJECT("WSHandler",IIF(VERSION(2)=0,"",HOME()+"FFC\")+"_ws3client.vcx")
	loQueryProcessor = loWSHandler.SetupClient("http://consultacep.correios.com.br/office2003/query.asmx?WSDL", "QueryProcessor", "QueryProcessorSoap")
	* Call your XML Web service here.  ex: leResult = loQueryProcessor.SomeMethod()
	LOCAL lcCep as String
	lcCep = thisform.textbox1.Value
	
lcStringBusca = [<?xml version="1.0" encoding="utf-8"?>] + ;
	[<QueryPacket xmlns="urn:Microsoft.Search.Query">] + ;
	[<Query>] + ;
	[<Context>] + ;
	[<QueryText>&lcCep</QueryText>] + ;
	[</Context>] + ;
	[<OfficeContext xmlns="urn:Microsoft.Search.Query.Office.Context">] + ;
	[<ApplicationContext>]+ ;
	[<Name>Microsoft Office</Name>] + ;
	[<Version>(11.0.6568)</Version>] + ;
	[</ApplicationContext>] + ;
	[</OfficeContext>] + ;
	[</Query>] + ;
	[</QueryPacket>]

lcResultado = loQueryProcessor.Query(lcStringBusca)
thisform.editbox1.Value = lcResultado

CATCH TO loException
	lcErrorMsg="Error: "+TRANSFORM(loException.Errorno)+" - "+loException.Message
	DO CASE
	CASE VARTYPE(loQueryProcessor)#"O"
		* Handle SOAP error connecting to web service
	CASE !EMPTY(loQueryProcessor.FaultCode)
		* Handle SOAP error calling method
		lcErrorMsg=lcErrorMsg+CHR(13)+loQueryProcessor.Detail
	OTHERWISE
		* Handle other error
	ENDCASE
	* Use for debugging purposes
	MESSAGEBOX(lcErrorMsg)
FINALLY
ENDTRY
Espero que possamos desvendar esse mistério.

[]s,Roberto Barros - BH

>>eu peguei um exemplo bem simples de utilização desse webservice via VS, e ele está funcionando, portanto acho que deve estar faltando alguma coisa na implementação via VFP.
>>
>Oi Roberto,
>
>Você teria como postar aqui um meio de vermos este exemplo?
>
>Grato
_____________________________________________________
[ ]s,Roberto Barros - BH
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform