Consumo de Webservice com Harbour.
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Consumo de Webservice com Harbour.
O SOAP está correto, é tudo questão do conteúdo do XML.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- André Corrêa
- Usuário Nível 2

- Mensagens: 81
- Registrado em: 03 Nov 2015 07:46
- Localização: Caraguatatuba/SP
Consumo de Webservice com Harbour.
Boa tarde,
Para concluir o assunto, o envelope SOAP não estava correto.
As informações que compõe o envelope variam de servidor para servidor e no caso desse webservice,
a documentação é incompleta, pois só contempla o uso dos métodos por linguagens .NET, fazendo a importação do WSDL.
Depois de muito pesquisar, descobri que o SoapUI permite importar o WSDL e gerar o envelope SOAP para consulta.
Fica a dica para quem precisar trabalhar com algum webservice que utilize o envelope SOAP customizado.
A ferramenta é ótima e depois de instalar, basta importar o WSDL para poder visualizar todos os métodos e suas chamadas,
incluindo o envelope completo. Tem uma versão Open Source, que foi a que eu baixei e é simples de usar.
O Link para download é https://www.soapui.org/open-source.html
O formato correto do envelope é:
E o XML final, envelopado ficou assim:
Obrigado a todos que tentaram ajudar.
Para concluir o assunto, o envelope SOAP não estava correto.
As informações que compõe o envelope variam de servidor para servidor e no caso desse webservice,
a documentação é incompleta, pois só contempla o uso dos métodos por linguagens .NET, fazendo a importação do WSDL.
Depois de muito pesquisar, descobri que o SoapUI permite importar o WSDL e gerar o envelope SOAP para consulta.
Fica a dica para quem precisar trabalhar com algum webservice que utilize o envelope SOAP customizado.
A ferramenta é ótima e depois de instalar, basta importar o WSDL para poder visualizar todos os métodos e suas chamadas,
incluindo o envelope completo. Tem uma versão Open Source, que foi a que eu baixei e é simples de usar.
O Link para download é https://www.soapui.org/open-source.html
O formato correto do envelope é:
Código: Selecionar todos
<soap12:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://tempuri.org/">
<soap12:Header>
<tns:Senha>?</tns:Senha>
<tns:Length>?</tns:Length>
<tns:FileName>?</tns:FileName>
<tns:Estabelecimento>?</tns:Estabelecimento>
</soap12:Header>
<soap12:Body>
<tns:RemoteFileInfo>
<tns:FileByteStream>?</tns:FileByteStream>
</tns:RemoteFileInfo>
</soap12:Body>
</soap12:Envelope>Código: Selecionar todos
<?xml version="1.0" encoding="utf-8"?><soap12:Envelope xmlns:soap12="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://tempuri.org/"><soap12:Header><tns:Senha>159753</tns:Senha><tns:Length>2406</tns:Length><tns:FileName>C:\A\LXA13703.xml</tns:FileName><tns:Estabelecimento>9999999999</tns:Estabelecimento></soap12:Header><soap12:Body><tns:RemoteFileInfo><tns:FileByteStream><registros><cabecalho><Estabelecimento>999999999</Estabelecimento><DataInicial>27/01/17</DataInicial><DataFinal>27/01/17</DataFinal><Versao>3</Versao><Sistema/></cabecalho><registro><CodigoTipoProduto>10</CodigoTipoProduto><DescricaoTipoProduto>Mastercard Credito a Vista</DescricaoTipoProduto><CodigoAutorizacao>456546</CodigoAutorizacao><IdentificadorPagamento>114956</IdentificadorPagamento><DataVenda>27/01/17</DataVenda><DataVencimento>28/02/17</DataVencimento><ValorVendaParcela>200,00</ValorVendaParcela><ValorLiquidoParcela/><TotalVenda>438,00</TotalVenda><Taxa/><Parcela>0</Parcela><TotalDeParcelas>0</TotalDeParcelas><NSU/><TID/><MeioCaptura>1</MeioCaptura><Operadora>2</Operadora><Modalidade>1</Modalidade></registro><registro><CodigoTipoProduto>11</CodigoTipoProduto><DescricaoTipoProduto>Mastercard Maestro Debito</DescricaoTipoProduto><CodigoAutorizacao>456151</CodigoAutorizacao><IdentificadorPagamento>114956</IdentificadorPagamento><DataVenda>27/01/17</DataVenda><DataVencimento>28/01/17</DataVencimento><ValorVendaParcela>238,00</ValorVendaParcela><ValorLiquidoParcela/><TotalVenda>438,00</TotalVenda><Taxa/><Parcela>0</Parcela><TotalDeParcelas>0</TotalDeParcelas><NSU/><TID/><MeioCaptura>1</MeioCaptura><Operadora>2</Operadora><Modalidade>0</Modalidade></registro><registro><CodigoTipoProduto>10</CodigoTipoProduto><DescricaoTipoProduto>Mastercard Credito a Vista</DescricaoTipoProduto><CodigoAutorizacao>549137</CodigoAutorizacao><IdentificadorPagamento>114960</IdentificadorPagamento><DataVenda>27/01/17</DataVenda><DataVencimento>28/02/17</DataVencimento><ValorVendaParcela>200,00</ValorVendaParcela><ValorLiquidoParcela/><TotalVenda>438,00</TotalVenda><Taxa/><Parcela>0</Parcela><TotalDeParcelas>0</TotalDeParcelas><NSU/><TID/><MeioCaptura>1</MeioCaptura><Operadora>2</Operadora><Modalidade>1</Modalidade></registro><registro><CodigoTipoProduto>11</CodigoTipoProduto><DescricaoTipoProduto>Mastercard Maestro Debito</DescricaoTipoProduto><CodigoAutorizacao>698410</CodigoAutorizacao><IdentificadorPagamento>114960</IdentificadorPagamento><DataVenda>27/01/17</DataVenda><DataVencimento>28/01/17</DataVencimento><ValorVendaParcela>238,00</ValorVendaParcela><ValorLiquidoParcela/><TotalVenda>438,00</TotalVenda><Taxa/><Parcela>0</Parcela><TotalDeParcelas>0</TotalDeParcelas><NSU/><TID/><MeioCaptura>1</MeioCaptura><Operadora>2</Operadora><Modalidade>0</Modalidade></registro></registros></tns:FileByteStream></tns:RemoteFileInfo></soap12:Body></soap12:Envelope>-- André Corrêa
"Opte por aquilo que faz o seu coração vibrar, apesar de todas as consequências". - Osho
"Opte por aquilo que faz o seu coração vibrar, apesar de todas as consequências". - Osho
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Consumo de Webservice com Harbour.
Muito bom saber disso.
Já tinha visto algo parecido, mas só com ferramenta paga.
Mais um para os utilitários indispensáveis.
Já tinha visto algo parecido, mas só com ferramenta paga.
Mais um para os utilitários indispensáveis.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Consumo de Webservice com Harbour.
Eu já tinha falado sobre o SOAPUI aqui no fórum:JoséQuintas escreveu:Já tinha visto algo parecido, mas só com ferramenta paga.
https://pctoledo.org/forum/viewto ... 52&#p92068
Ele é muito bom, ajuda muito para ver métodos, parâmetros e modelos de xML de envio e retorno.
Abraços
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Consumo de Webservice com Harbour.
E foi ele mesmo que testei da outra vez, mas não funcionou com NFE, não deixou escolher certificado ou não encontrei aonde configurar.
Se conseguiu isso, e puder passar a dica, seria bom pra eventuais necessidades do governo.
Se conseguiu isso, e puder passar a dica, seria bom pra eventuais necessidades do governo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Consumo de Webservice com Harbour.
Quintas, veja estes links:
SOAP UI - Teste com certificado digital - HTTPS
How to configure SoapUI with client certificate authentication
Abraços,
SOAP UI - Teste com certificado digital - HTTPS
How to configure SoapUI with client certificate authentication
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Consumo de Webservice com Harbour.
Vixe... Não ia descobrir nunca.... rs
O próprio autor do texto disse que apanhou muito.
Valeu.
Ainda não testei.
Talvez tenha que criar um projeto, se entendi bem.
O próprio autor do texto disse que apanhou muito.
Valeu.
Ainda não testei.
Talvez tenha que criar um projeto, se entendi bem.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Consumo de Webservice com Harbour.
Não entendi nada.
Tem um vídeo no youtube mostrando
https://www.youtube.com/watch?v=a-eB6nqwOh0
até aí, tudo bem.
Mas na prática não é assim que aparece.
Não encontrei a mesma versão do vídeo 2.3, só 2.2 ou 2.5. Testei as duas.
No vídeo aparece o xml inteiro, mas no uso aparece parcial.
Tô achando que é algo relacionado a esse tal binding, que em SP não existe.
Alguma dica sobre o que falta pra mostrar mais completo?
Obs. NFE 3.10 Acre
Tem um vídeo no youtube mostrando
https://www.youtube.com/watch?v=a-eB6nqwOh0
até aí, tudo bem.
Mas na prática não é assim que aparece.
Não encontrei a mesma versão do vídeo 2.3, só 2.2 ou 2.5. Testei as duas.
No vídeo aparece o xml inteiro, mas no uso aparece parcial.
Tô achando que é algo relacionado a esse tal binding, que em SP não existe.
Alguma dica sobre o que falta pra mostrar mais completo?
Obs. NFE 3.10 Acre
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Consumo de Webservice com Harbour.
Resolvido, era o XML errado.
Quanto ao SOAPUI, vou ter que esperar algum webservice diferente.
Talvez por eu já conhecer esse envelope, mostrou o que eu já sabia e por isso não tenha visto utilidade.
Quanto ao SOAPUI, vou ter que esperar algum webservice diferente.
Talvez por eu já conhecer esse envelope, mostrou o que eu já sabia e por isso não tenha visto utilidade.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Consumo de Webservice com Harbour.
De qualquer forma, ele me chamou a atenção numa coisa:
Eu coloco o serviço nesse xmlns=, e na SoapAction somente a última palavra.
Pelo que entendi dos XMLs, isso é igual PATH, onde podemos usar o PATH exato ou o PATH relativo ao PATH atual.
Me deu a impressão de que poderia colocar SoapAction completo, e remover a indicação acima.
Se isso der certo, dentro da classe:
- vai transformar o array duplo em array simples
- vai deixar o fonte do envelope mais limpo
- vai deixar mais fácil pra alterações futuras (NFE 4.0 e outros)
Assim que der vou fazer o teste, e neste caso, o SoapUI vai ter ajudado até mesmo no que já estava pronto.
Código: Selecionar todos
::cXmlSoap += [<] + ::cProjeto + [DadosMsg xmlns="] + ::cSoapService + [">]
Pelo que entendi dos XMLs, isso é igual PATH, onde podemos usar o PATH exato ou o PATH relativo ao PATH atual.
Me deu a impressão de que poderia colocar SoapAction completo, e remover a indicação acima.
Se isso der certo, dentro da classe:
- vai transformar o array duplo em array simples
- vai deixar o fonte do envelope mais limpo
- vai deixar mais fácil pra alterações futuras (NFE 4.0 e outros)
Assim que der vou fazer o teste, e neste caso, o SoapUI vai ter ajudado até mesmo no que já estava pronto.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Mario Mesquita
- Usuário Nível 4

- Mensagens: 613
- Registrado em: 08 Dez 2009 13:47
- Localização: Rio de Janeiro
Consumo de Webservice com Harbour.
Boa trde pessoal.
Enfim, comecei os estudos para fazer o bendito webservice. Fui no post dos Correiros e funcionou, mas não gerou os XML, resquest, response, etc.
Os exemplos aqui estão funcionando? Aí pego e adapto ao site que devo pesquisar.
Se não, se puderem me indicar um tópico que tenha algo operacional, desde já agradeço!
Sds,
Mario.
Enfim, comecei os estudos para fazer o bendito webservice. Fui no post dos Correiros e funcionou, mas não gerou os XML, resquest, response, etc.
Os exemplos aqui estão funcionando? Aí pego e adapto ao site que devo pesquisar.
Se não, se puderem me indicar um tópico que tenha algo operacional, desde já agradeço!
Sds,
Mario.
- Mario Mesquita
- Usuário Nível 4

- Mensagens: 613
- Registrado em: 08 Dez 2009 13:47
- Localização: Rio de Janeiro
Consumo de Webservice com Harbour.
Olá, pessoal.
Tentei fazer rodar o exemplo do André e deu erro de compilação, no TRY/CATCH. O Harbour não suporta esse comando?
Sds,
Mario.
Tentei fazer rodar o exemplo do André e deu erro de compilação, no TRY/CATCH. O Harbour não suporta esse comando?
Sds,
Mario.
Consumo de Webservice com Harbour.
Voce pode incluir a lib xhb.lib
ou colocar esta linhas
ou colocar esta linhas
Código: Selecionar todos
#xcommand TRY => BEGIN SEQUENCE WITH {|o| break(o)}
#xcommand CATCH [<!oErr!>] => RECOVER [USING <oErr>] <-oErr->Daniel
Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
- Mario Mesquita
- Usuário Nível 4

- Mensagens: 613
- Registrado em: 08 Dez 2009 13:47
- Localização: Rio de Janeiro
Consumo de Webservice com Harbour.
Boa noite.
Daniel, eu uso o Harbour. Dá pra usar a lib no xHarbour? Não seria melhor usar o BEGIN SEQUENCE no lugar do TRY/CATCH?
Sds,
Mario.
Daniel, eu uso o Harbour. Dá pra usar a lib no xHarbour? Não seria melhor usar o BEGIN SEQUENCE no lugar do TRY/CATCH?
Sds,
Mario.
Consumo de Webservice com Harbour.
Está lib e do harbour mesmo compatibilidade ou usar o Begin
Daniel
Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
