×
Linguagem de Programação ADVPL
Perguntas Ajuda webservice
- luis.abeno
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 5
- Obrigados Recebidos: 0
8 anos 5 meses atrás #30797
por luis.abeno
Ajuda webservice foi criado por luis.abeno
Pessoal, boa tarde!
Preciso de uma ajuda quanto a utilização de webservice no Protheus.
Eu não entendo muito sobre ADVPL, e estou aprendendo. Consegui fazer alguns webservices onde gero alguns tipos de relatórios, mas isso foi bem simples, eu passo um parâmetro e retorno um conjunto de dados para a aplicação WEB, nada demais.
O meu problema agora é ao gerar um XML para ser consumido no protheus.
Eu gero o XML na aplicação WEB, mas não sei como consumir no protheus,será que vocês poderiam me dar uma orientação?
Abaixo um exemplo simples de XML que é enviado para o método do protheus consumir:
Quando dou um "VALTYPE" no retorno da variavel, ele diz que retorna como caracter "C", deveria ser assim mesmo?
<JUSTIFY>
<P001>
<JS_ID></JS_ID>
<JS_EXTERNALID>14</JS_EXTERNALID>
</P001>
</JUSTIFY>
Obrigado!
Abraços.
Preciso de uma ajuda quanto a utilização de webservice no Protheus.
Eu não entendo muito sobre ADVPL, e estou aprendendo. Consegui fazer alguns webservices onde gero alguns tipos de relatórios, mas isso foi bem simples, eu passo um parâmetro e retorno um conjunto de dados para a aplicação WEB, nada demais.
O meu problema agora é ao gerar um XML para ser consumido no protheus.
Eu gero o XML na aplicação WEB, mas não sei como consumir no protheus,será que vocês poderiam me dar uma orientação?
Abaixo um exemplo simples de XML que é enviado para o método do protheus consumir:
Quando dou um "VALTYPE" no retorno da variavel, ele diz que retorna como caracter "C", deveria ser assim mesmo?
<JUSTIFY>
<P001>
<JS_ID></JS_ID>
<JS_EXTERNALID>14</JS_EXTERNALID>
</P001>
</JUSTIFY>
Obrigado!
Abraços.
Por favor Acessar ou Registrar para participar da conversa.
- will
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 81
- Obrigados Recebidos: 0
8 anos 4 meses atrás #30804
por will
Respondido por will no tópico Ajuda webservice
Bom dia Luis, já fiz diversos programas de WebService.
Para consumir geralmente tem dois jeitos.
ou por WSDL, ou você tem uma url na internet, qual seria o seu?
Eu tenho exemplo dos dois, mais preciso saber qual é o seu tipo.
Na verdade quando vocÊ consegue um webservice no protheus ele vira um objeto com várias variaveis lá dentro e vocÊ carrega elas.
Para consumir geralmente tem dois jeitos.
ou por WSDL, ou você tem uma url na internet, qual seria o seu?
Eu tenho exemplo dos dois, mais preciso saber qual é o seu tipo.
Na verdade quando vocÊ consegue um webservice no protheus ele vira um objeto com várias variaveis lá dentro e vocÊ carrega elas.
Por favor Acessar ou Registrar para participar da conversa.
- luis.abeno
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 5
- Obrigados Recebidos: 0
8 anos 4 meses atrás #30820
por luis.abeno
Respondido por luis.abeno no tópico Ajuda webservice
Boa tarde William!
Primeiramente muito obrigado pela força!
Estou consumindo via WSDL.
Abraços
Primeiramente muito obrigado pela força!
Estou consumindo via WSDL.
Abraços
Por favor Acessar ou Registrar para participar da conversa.
- will
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 81
- Obrigados Recebidos: 0
8 anos 4 meses atrás #30824
por will
Respondido por will no tópico Ajuda webservice
#INCLUDE "PROTHEUS.CH"
#INCLUDE "APWEBSRV.CH"
#INCLUDE "TBICONN.CH"
#INCLUDE "TBICODE.CH"
#INCLUDE "XMLXFUN.CH"
User Function ADLOG003P()
PRIVATE oWs := NIL
CRIAWEBSERVICE()
Return(NIL)
STATIC FUNCTION CRIAWEBSERVICE()
oWs := WSSiviraPlanned():New()
oWs:cLogin := 'testesteste'
oWs:cSenha := 'testestesteste'
ExportaXML()
RETURN(NIL)
Static Function ExportaXML()
If oWs:ImportarViagemFaturada()
oResp := oWs:oWSImportarViagemFaturadaResult
cMetodo := 'Viagem'
nId := oResp:NID
IF nId > 0
nId :=1
AddCampoRavex()
ENDIF
EmailViagem(cMetodo,nId,oResp:cmensagem)
Else
cMetodo := 'Viagem'
nId := -1
EmailViagem(cMetodo,nId,GetWSCError())
Endif
RETURN(NIL)
Segue exemplo de um consumo via WSDL.
Existe essa variavel OWS, onde eu jogo o xml nela..
E depois vou carregando suas variaveis conforme o trecho que eu envio o login e senha.
Agora você tem que ir falando suas dificuldades para mim ir te ajudando.
Abraços.
#INCLUDE "APWEBSRV.CH"
#INCLUDE "TBICONN.CH"
#INCLUDE "TBICODE.CH"
#INCLUDE "XMLXFUN.CH"
User Function ADLOG003P()
PRIVATE oWs := NIL
CRIAWEBSERVICE()
Return(NIL)
STATIC FUNCTION CRIAWEBSERVICE()
oWs := WSSiviraPlanned():New()
oWs:cLogin := 'testesteste'
oWs:cSenha := 'testestesteste'
ExportaXML()
RETURN(NIL)
Static Function ExportaXML()
If oWs:ImportarViagemFaturada()
oResp := oWs:oWSImportarViagemFaturadaResult
cMetodo := 'Viagem'
nId := oResp:NID
IF nId > 0
nId :=1
AddCampoRavex()
ENDIF
EmailViagem(cMetodo,nId,oResp:cmensagem)
Else
cMetodo := 'Viagem'
nId := -1
EmailViagem(cMetodo,nId,GetWSCError())
Endif
RETURN(NIL)
Segue exemplo de um consumo via WSDL.
Existe essa variavel OWS, onde eu jogo o xml nela..
E depois vou carregando suas variaveis conforme o trecho que eu envio o login e senha.
Agora você tem que ir falando suas dificuldades para mim ir te ajudando.
Abraços.
Por favor Acessar ou Registrar para participar da conversa.
- will
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 81
- Obrigados Recebidos: 0
8 anos 4 meses atrás #30825
por will
Respondido por will no tópico Ajuda webservice
Esse trecho
oWs := WSSiviraPlanned():New()
e Esse Trecho
If oWs:ImportarViagemFaturada()
São chamadas do métodos que estão no client do Webservice, precisa ver o nome do seus corretamente.
oWs := WSSiviraPlanned():New()
e Esse Trecho
If oWs:ImportarViagemFaturada()
São chamadas do métodos que estão no client do Webservice, precisa ver o nome do seus corretamente.
Por favor Acessar ou Registrar para participar da conversa.
- luis.abeno
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 5
- Obrigados Recebidos: 0
8 anos 4 meses atrás #30831
por luis.abeno
Respondido por luis.abeno no tópico Ajuda webservice
Muito obrigado pela força William!
Seu código ajudou bastante, consegui fazer aqui, valeu pela ajuda.
Abraços
Seu código ajudou bastante, consegui fazer aqui, valeu pela ajuda.
Abraços
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.093 segundos