AJUDA FARMACIA POPULAR CONEXAO COM SOAP
Estou tendo problemas para realizar a conexao do web service com o farmacia popular
alguem já realizou conexao do webservice com conexao segura e utilizando o soap?
webservice: https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl
estou tentando desenvolver em vb 6
Obrigado
alguem já realizou conexao do webservice com conexao segura e utilizando o soap?
webservice: https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl
estou tentando desenvolver em vb 6
Obrigado
eu posso criar uma dll que fais tudo isso para vc porem não serar de graça
[S24]
[S24]
Antes de mais nada, baixe o SOAP ToolKit 3.0 para conseguir consumir o WEB SERVICE.
Baixar SOAP ToolKit 3.0
Rotina de exemplo
Este é um bom começo.
Baixar SOAP ToolKit 3.0
Rotina de exemplo
Private Sub Command1_Click()
Dim clnt As New SoapClient30
Dim strsvc As String
clnt.MSSoapInit [Ô]http://localhost/CF_WebSvc/justFunction.cfc?wsdl[Ô]
strsvc = clnt.WelcomeMsg(Text1.Text)
MsgBox (strsvc)
End Sub
Este é um bom começo.
Se ainda assim tiver dúvidas, baixe um exemplo comentado daqui do site.
CONSUMIR WEB SERVICE COM VB6
CONSUMIR WEB SERVICE COM VB6
Amigo, sei que você quer desenvolver, mas a vezes reinventar a roda fica mais caro, veja o site abaixo.
BITSHOP Informática
BITSHOP Informática
Pois é galera, se for para comprar ae eu desenvolvo em .Net....
Minha situação é a seguinte.... o webservice : https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl
Nele contem um certificado que é para outro site(instalando o certificado ele ainda me apresenta o erro que o certificado nao foi instalado)
Bom em .Net eu resolvi este problema com o seguinte codigo:
Dim ws As New WebReference.ServicoSolicitacaoWSService
Dim solicitacao As New WebReference.SolicitacaoDTO
Dim senha As New WebReference.UsuarioFarmaciaDTO
Dim autorizacao As New WebReference.AutorizacaoDTO
Dim MedicamentoDTO As New WebReference.MedicamentoDTO
senha.senha = [Ô]XXXXXXXX[Ô]
senha.usuario = [Ô]77394436[Ô]
MedicamentoDTO.coCodigoBarra = [Ô]7896523206646[Ô]
MedicamentoDTO.qtPrescrita = 1
MedicamentoDTO.qtSolicitada = 1
MedicamentoDTO.vlPrecoVenda = 40
ReDim solicitacao.arrMedicamentoDTO(0)
solicitacao.arrMedicamentoDTO(0) = MedicamentoDTO
solicitacao.coSolicitacaoFarmacia = [Ô]12345678[Ô]
solicitacao.dtEmissaoReceita = [Ô]01/09/2009[Ô]
solicitacao.nuCnpj = [Ô]65.462.905/0001-29[Ô]
solicitacao.nuCpf = [Ô]001.063.791-51[Ô]
solicitacao.nuCrm = [Ô]032042093[Ô]
solicitacao.sgUfCrm = [Ô]RS[Ô]
[ô]Aqui eu chamo esta função para não dar problema com a ssl do web service
System.Net.ServicePointManager.CertificatePolicy = New MyPolicy() [ô]Migue dos grande
******************* Dentro da classe *********************************
Imports System.Net
Imports System.Security.Cryptography.X509Certificates
Public Class MyPolicy
Implements ICertificatePolicy
Public Function CheckValidationResult(ByVal srvPoint As ServicePoint, _
ByVal cert As X509Certificate, ByVal request As WebRequest, _
ByVal certificateProblem As Integer) _
As Boolean Implements ICertificatePolicy.CheckValidationResult
Return True
End Function
End Class
**************************************************************************
autorizacao = ws.executarSolicitacao(solicitacao, senha)
TextBox1.Text = autorizacao.inAutorizacaoSolicitacao
TextBox2.Text = autorizacao.descMensagemErro
TextBox3.Text = autorizacao.coSolicitacaoFarmacia
TextBox4.Text = autorizacao.nuAutorizacao
TextBox5.Text = autorizacao.noPessoa
agora em vb6 está assim:
Dim ws As New MSSOAPLib30.SoapClient30
Abrindo a conexão assim me dá logo erro com a ssl
ws.MSSoapInit([Ô]https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl[Ô])
Abrindo a conexão assim ela conecta, porem quando eu tento pegar um retorno de uma função me da erro na ssl tambem
ws.MSSoapInit2([Ô]c:\bruno.wsdl[Ô], [Ô][Ô], [Ô]ServicoSolicitacaoWSService[Ô], [Ô]ServicoSolicitacaoWS[Ô], [Ô]http://service.datasus.org/[Ô])
ws.ConnectorProperty([Ô]EndPointURL[Ô]) = [Ô]https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl[Ô]
Dim senha As String
Dim solicitacao As String
Dim Retorno As String
[ô]senha = [Ô]<UsuarioFarmaciaDTO>[Ô]
[ô]senha = senha & [Ô]<UsuarioDTO>[Ô]
[ô]senha = senha & [Ô]<senha>12345678</senha>[Ô]
[ô]senha = senha & [Ô]<usuario>77394436</usuario>[Ô]
[ô]senha = senha & [Ô]</UsuarioDTO>[Ô]
[ô]senha = senha & [Ô]</UsuarioFarmaciaDTO>[Ô]
[ô]solicitacao = [Ô]<SolicitacaoDTO>[Ô]
[ô]solicitacao = solicitacao & [Ô]<arrMedicamentoDTO>[Ô]
[ô]solicitacao = solicitacao & [Ô]<MedicamentoDTO>[Ô]
[ô]solicitacao = solicitacao & [Ô]<coCodigoBarra>7896523206646</coCodigoBarra>[Ô]
[ô]solicitacao = solicitacao & [Ô]<qtPrescrita>1</qtPrescrita>[Ô]
[ô]solicitacao = solicitacao & [Ô]<qtSolicitada>1</qtSolicitada>[Ô]
[ô]solicitacao = solicitacao & [Ô]<vlPrecoVenda>40</vlPrecoVenda>[Ô]
[ô]solicitacao = solicitacao & [Ô]</MedicamentoDTO>[Ô]
[ô]solicitacao = solicitacao & [Ô]</arrMedicamentoDTO>[Ô]
[ô]solicitacao = solicitacao & [Ô]<coSolicitacaoFarmacia>12345678</coSolicitacaoFarmacia>[Ô]
[ô]solicitacao = solicitacao & [Ô]<dtEmissaoReceita>01/09/2009</dtEmissaoReceita>[Ô]
[ô]solicitacao = solicitacao & [Ô]<nuCnpj>65.462.905/0001-29</nuCnpj>[Ô]
[ô]solicitacao = solicitacao & [Ô]<nuCpf>001.063.791-51</nuCpf>[Ô]
[ô]solicitacao = solicitacao & [Ô]<nuCrm>8434783487</nuCrm>[Ô]
[ô]solicitacao = solicitacao & [Ô]<sgUfCrm>RS</sgUfCrm>[Ô]
[ô]solicitacao = solicitacao & [Ô]</SolicitacaoDTO>[Ô]
Retorno = ws.executarSolicitacao(solicitacao, senha)
eu precisaria transformar a função abaio para o vb6 alguem pode me ajudar?
System.Net.ServicePointManager.CertificatePolicy = New MyPolicy() [ô]Migue dos grande
******************* Dentro da classe *********************************
Imports System.Net
Imports System.Security.Cryptography.X509Certificates
Public Class MyPolicy
Implements ICertificatePolicy
Public Function CheckValidationResult(ByVal srvPoint As ServicePoint, _
ByVal cert As X509Certificate, ByVal request As WebRequest, _
ByVal certificateProblem As Integer) _
As Boolean Implements ICertificatePolicy.CheckValidationResult
Return True
End Function
End Class
Minha situação é a seguinte.... o webservice : https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl
Nele contem um certificado que é para outro site(instalando o certificado ele ainda me apresenta o erro que o certificado nao foi instalado)
Bom em .Net eu resolvi este problema com o seguinte codigo:
Dim ws As New WebReference.ServicoSolicitacaoWSService
Dim solicitacao As New WebReference.SolicitacaoDTO
Dim senha As New WebReference.UsuarioFarmaciaDTO
Dim autorizacao As New WebReference.AutorizacaoDTO
Dim MedicamentoDTO As New WebReference.MedicamentoDTO
senha.senha = [Ô]XXXXXXXX[Ô]
senha.usuario = [Ô]77394436[Ô]
MedicamentoDTO.coCodigoBarra = [Ô]7896523206646[Ô]
MedicamentoDTO.qtPrescrita = 1
MedicamentoDTO.qtSolicitada = 1
MedicamentoDTO.vlPrecoVenda = 40
ReDim solicitacao.arrMedicamentoDTO(0)
solicitacao.arrMedicamentoDTO(0) = MedicamentoDTO
solicitacao.coSolicitacaoFarmacia = [Ô]12345678[Ô]
solicitacao.dtEmissaoReceita = [Ô]01/09/2009[Ô]
solicitacao.nuCnpj = [Ô]65.462.905/0001-29[Ô]
solicitacao.nuCpf = [Ô]001.063.791-51[Ô]
solicitacao.nuCrm = [Ô]032042093[Ô]
solicitacao.sgUfCrm = [Ô]RS[Ô]
[ô]Aqui eu chamo esta função para não dar problema com a ssl do web service
System.Net.ServicePointManager.CertificatePolicy = New MyPolicy() [ô]Migue dos grande
******************* Dentro da classe *********************************
Imports System.Net
Imports System.Security.Cryptography.X509Certificates
Public Class MyPolicy
Implements ICertificatePolicy
Public Function CheckValidationResult(ByVal srvPoint As ServicePoint, _
ByVal cert As X509Certificate, ByVal request As WebRequest, _
ByVal certificateProblem As Integer) _
As Boolean Implements ICertificatePolicy.CheckValidationResult
Return True
End Function
End Class
**************************************************************************
autorizacao = ws.executarSolicitacao(solicitacao, senha)
TextBox1.Text = autorizacao.inAutorizacaoSolicitacao
TextBox2.Text = autorizacao.descMensagemErro
TextBox3.Text = autorizacao.coSolicitacaoFarmacia
TextBox4.Text = autorizacao.nuAutorizacao
TextBox5.Text = autorizacao.noPessoa
agora em vb6 está assim:
Dim ws As New MSSOAPLib30.SoapClient30
Abrindo a conexão assim me dá logo erro com a ssl
ws.MSSoapInit([Ô]https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl[Ô])
Abrindo a conexão assim ela conecta, porem quando eu tento pegar um retorno de uma função me da erro na ssl tambem
ws.MSSoapInit2([Ô]c:\bruno.wsdl[Ô], [Ô][Ô], [Ô]ServicoSolicitacaoWSService[Ô], [Ô]ServicoSolicitacaoWS[Ô], [Ô]http://service.datasus.org/[Ô])
ws.ConnectorProperty([Ô]EndPointURL[Ô]) = [Ô]https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl[Ô]
Dim senha As String
Dim solicitacao As String
Dim Retorno As String
[ô]senha = [Ô]<UsuarioFarmaciaDTO>[Ô]
[ô]senha = senha & [Ô]<UsuarioDTO>[Ô]
[ô]senha = senha & [Ô]<senha>12345678</senha>[Ô]
[ô]senha = senha & [Ô]<usuario>77394436</usuario>[Ô]
[ô]senha = senha & [Ô]</UsuarioDTO>[Ô]
[ô]senha = senha & [Ô]</UsuarioFarmaciaDTO>[Ô]
[ô]solicitacao = [Ô]<SolicitacaoDTO>[Ô]
[ô]solicitacao = solicitacao & [Ô]<arrMedicamentoDTO>[Ô]
[ô]solicitacao = solicitacao & [Ô]<MedicamentoDTO>[Ô]
[ô]solicitacao = solicitacao & [Ô]<coCodigoBarra>7896523206646</coCodigoBarra>[Ô]
[ô]solicitacao = solicitacao & [Ô]<qtPrescrita>1</qtPrescrita>[Ô]
[ô]solicitacao = solicitacao & [Ô]<qtSolicitada>1</qtSolicitada>[Ô]
[ô]solicitacao = solicitacao & [Ô]<vlPrecoVenda>40</vlPrecoVenda>[Ô]
[ô]solicitacao = solicitacao & [Ô]</MedicamentoDTO>[Ô]
[ô]solicitacao = solicitacao & [Ô]</arrMedicamentoDTO>[Ô]
[ô]solicitacao = solicitacao & [Ô]<coSolicitacaoFarmacia>12345678</coSolicitacaoFarmacia>[Ô]
[ô]solicitacao = solicitacao & [Ô]<dtEmissaoReceita>01/09/2009</dtEmissaoReceita>[Ô]
[ô]solicitacao = solicitacao & [Ô]<nuCnpj>65.462.905/0001-29</nuCnpj>[Ô]
[ô]solicitacao = solicitacao & [Ô]<nuCpf>001.063.791-51</nuCpf>[Ô]
[ô]solicitacao = solicitacao & [Ô]<nuCrm>8434783487</nuCrm>[Ô]
[ô]solicitacao = solicitacao & [Ô]<sgUfCrm>RS</sgUfCrm>[Ô]
[ô]solicitacao = solicitacao & [Ô]</SolicitacaoDTO>[Ô]
Retorno = ws.executarSolicitacao(solicitacao, senha)
eu precisaria transformar a função abaio para o vb6 alguem pode me ajudar?
System.Net.ServicePointManager.CertificatePolicy = New MyPolicy() [ô]Migue dos grande
******************* Dentro da classe *********************************
Imports System.Net
Imports System.Security.Cryptography.X509Certificates
Public Class MyPolicy
Implements ICertificatePolicy
Public Function CheckValidationResult(ByVal srvPoint As ServicePoint, _
ByVal cert As X509Certificate, ByVal request As WebRequest, _
ByVal certificateProblem As Integer) _
As Boolean Implements ICertificatePolicy.CheckValidationResult
Return True
End Function
End Class
haha!
Citação:[S23]JWCELYO escreveu:
eu posso criar uma dll que fais tudo isso para vc porem não serar de graça
[S24]
?
[S26]
[S26]
Tem alguma forma de testar minha aplicação sem uma farmácia habilitada?
Tópico encerrado , respostas não são mais permitidas