× Linguagem de Programação ADVPL

Perguntas Consumir WebService GNRE

Mais
11 anos 4 meses atrás #8810 por giilardabreu
Ao consumir um webservice GNRE PE estou com o seguinte erro:

cvc-elt.1: Cannot find the declaration of element 'ns1:TConsultaConfigUf'.

Segue o código fonte:

#INCLUDE "PROTHEUS.CH"
#INCLUDE "APWEBSRV.CH"

/* ===============================================================================
WSDL Location GnreConfigUF.xml
Gerado em 12/14/12 15:59:05
Observações Código-Fonte gerado por ADVPL WSDL Client 1.120703
Alterações neste arquivo podem causar funcionamento incorreto
e serão perdidas caso o código-fonte seja gerado novamente.
=============================================================================== */

User Function _MRXOHKL ; Return // "dummy" function - Internal Use

/*
WSDL Service WSGnreConfigUF
*/

WSCLIENT WSGnreConfigUF

WSMETHOD NEW
WSMETHOD INIT
WSMETHOD RESET
WSMETHOD CLONE
WSMETHOD consultar

WSDATA _URL AS String
WSDATA _HEADOUT AS Array of String
WSDATA _COOKIES AS Array of String
WSDATA oWS AS SCHEMA

ENDWSCLIENT

WSMETHOD NEW WSCLIENT WSGnreConfigUF
::Init()
If !FindFunction("XMLCHILDEX")
UserException("O Código-Fonte Client atual requer os executáveis do Protheus Build [7.00.120420A-20120726] ou superior. Atualize o Protheus ou gere o Código-Fonte novamente utilizando o Build atual.")
EndIf
Return Self

WSMETHOD INIT WSCLIENT WSGnreConfigUF
::oWS := NIL
Return

WSMETHOD RESET WSCLIENT WSGnreConfigUF
::oWS := NIL
::Init()
Return

WSMETHOD CLONE WSCLIENT WSGnreConfigUF
Local oClone := WSGnreConfigUF():New()
oClone:_URL := ::_URL
Return oClone

// WSDL Method consultar of Service WSGnreConfigUF

WSMETHOD consultar WSSEND BYREF oWS WSRECEIVE NULLPARAM WSCLIENT WSGnreConfigUF
Local cSoap := "" , oXmlRet

BEGIN WSMETHOD

cSoap += "<gnreDadosMsg xmlns=' www.gnre.pe.gov.br/webservice/GnreConfigUF '>"
cSoap += WSSoapValue("", ::oWS, oWS , "SCHEMA", .T. , .F., 0 , NIL, .F.)
cSoap += "</gnreDadosMsg>"

oXmlRet := SvcSoapCall( Self,cSoap,;
" www.gnre.pe.gov.br/webservice/GnreConfigUF/consultar ",;
"DOCUMENT"," www.gnre.pe.gov.br/webservice/GnreConfigUF ",,,;
" www.gnre-h.pe.gov.br/gnreWS/services/GnreConfigUF ")

::Init()
::oWS := WSAdvValue( oXmlRet,"_GNRERESPOSTAMSG","SCHEMA",NIL,NIL,NIL,"O",@oWS,NIL)

END WSMETHOD

oXmlRet := NIL
Return .T.


user function fTeste2()
local cXML := ""

//Objeto Webservice
oWSGnre := WSGnreConfigUF():New() // Criando o objeto Web Service

cXML += "<TConsultaConfigUf>"
cXML += "<ambiente>2</ambiente>"
cXML += "<uf>PR</uf>"
cXML += "<receita courier='N'>100056</receita>"
cXML += "</TConsultaConfigUf>"

oWSGnre:oWS := cXML

oWSGnre:consultar()

iw_msgbox(oWSGnre:oWS:_NS1_TCONFIGUF:_NS1_SITUACAOCONSULTA:_NS1_DESCRICAO:TEXT,"ATENÇÃO","ALERT")

Return Nil

Alguém pode me ajudar?

Obrigado

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 4 meses atrás #9170 por finatti
Respondido por finatti no tópico Re: Consumir WebService GNRE
Seguinte, amigão... testa o retorno do método "consultar()"

No caso, pode ser q o método esteja falhando e por isso o objeto "ows" nao possua a chave q vc esta tentando retornar.

algo como segue:

if oWSGnre:consultar()
iw_msgbox(oWSGnre:oWS:_NS1_TCONFIGUF:_NS1_SITUACAOCONSULTA:_NS1_DESCRICAO:TEXT,"ATENÇÃO","ALERT")
endif


outra coisa, adiciona seu objeto OWSGNRE na janela de WATCHS, e verifique se o nó q vc esta tentando retornar realmente existe no objeto

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 4 meses atrás #9175 por giilardabreu
Respondido por giilardabreu no tópico Re: Consumir WebService GNRE
Entendi não tinha pensado nisso, só que o meu problema que já verifiquei o objeto e não retorna nada referente a resposta não consigo consumir este webservice:

www.gnre.pe.gov.br/gnre/wsdl/GnreConfigUF.wsdl

Este é apenas o processo inicial onde testa se o serviço está disponivel para a UF informada, porém não consigo resposta.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.112 segundos
Joomla templates by a4joomla