FARM?CIA POPULAR
Pessoal.... Gostaria de uma ajuda ou um suporte se alguém está lidando com isso.
Preciso desenvolver uma rotina para transmissão de informações via farmácia popular.
Desenvolvi a rotina abaixo e me dá o erro
Notas: WsHomol é uma variável referenciada ao webservice de homologação com a seguinte url: https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl
Public Class ConectarWebServ
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
<DllImport([Ô]gbasmsb_library.dll[Ô])> Public Function IdentificaEstacao() As String
[ô]Pegar o DNA da Estação
End Function
Public Sub TransmitirSolicitacao()
Try
[ô]Montagem da solicitação
Dim WsUsr As New WsHomol.UsuarioFarmaciaDTO
WsUsr.senhaFarmacia = [Ô]FT1261FT[Ô]
WsUsr.usuarioFarmacia =[Ô]22490965[Ô]
WsUsr.usuarioVendedor = [Ô]32340362091[Ô]
WsUsr.senhaVendedor = [Ô]32761261
Dim WsSol As New WsHomol.SolicitacaoDTO
Dim Item As Integer = 0
Dim WsMed As New WsHomol.MedicamentoDTO
WsMed.coCodigoBarra = [Ô]7896269900013[Ô]
WsMed.qtPrescrita = 4
WsMed.qtSolicitada = 1
WsMed.vlPrecoVenda = 13.05
ReDim Preserve WsSol.arrMedicamentoDTO(Item)
WsSol.arrMedicamentoDTO(Item) = WsMed
WsSol.dtEmissaoReceita = today
WsSol.nuCnpj = [Ô]08606486000118[Ô]
WsSol.sgUfCrm = [Ô]RS[Ô]
WsSol.nuCrm = [Ô]10001[Ô]
WsSol.nuCpf = [Ô]5954984000[Ô]
WsSol.coSolicitacaoFarmacia = 1
WsSol.dnaEstacao = IdentificaEstacao
Dim WsSer As WsHomol.ServicoSolicitacaoWSService = New WsHomol.ServicoSolicitacaoWSService
WsSer.Url = [Ô]https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS[Ô]
WsSer.Credentials = New System.Net.NetworkCredential(WsUsr.usuarioFarmacia, WsUsr.senhaFarmacia)
WsSer.UseDefaultCredentials = True
System.Net.ServicePointManager.CertificatePolicy = New ConectarWebServ()
Dim WsRet As WsHomol.AutorizacaoDTO = New WsHomol.AutorizacaoDTO
WsRet = WsSer.executarSolicitacao(WsSol, WsUsr)
MsgBox(WsRet.inAutorizacaoSolicitacao)
MsgBox(WsRet.descMensagemErro)
MsgBox(WsRet.coSolicitacaoFarmacia)
MsgBox(WsRet.nuAutorizacao)
MsgBox(WsRet.noPessoa)
Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Farmácia Popular[Ô], MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Ao rodar a função acima, me retorna o erro 40S - Solicitação não autorizada. Caractere inválido no campo senha. Este campo só pode conter letras e números.
Já to ficando sem cabelo de tanto pensar e pesquisar
Alguém poderia me ajudar? Não sei onde está o erro
Preciso desenvolver uma rotina para transmissão de informações via farmácia popular.
Desenvolvi a rotina abaixo e me dá o erro
Notas: WsHomol é uma variável referenciada ao webservice de homologação com a seguinte url: https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl
Public Class ConectarWebServ
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
<DllImport([Ô]gbasmsb_library.dll[Ô])> Public Function IdentificaEstacao() As String
[ô]Pegar o DNA da Estação
End Function
Public Sub TransmitirSolicitacao()
Try
[ô]Montagem da solicitação
Dim WsUsr As New WsHomol.UsuarioFarmaciaDTO
WsUsr.senhaFarmacia = [Ô]FT1261FT[Ô]
WsUsr.usuarioFarmacia =[Ô]22490965[Ô]
WsUsr.usuarioVendedor = [Ô]32340362091[Ô]
WsUsr.senhaVendedor = [Ô]32761261
Dim WsSol As New WsHomol.SolicitacaoDTO
Dim Item As Integer = 0
Dim WsMed As New WsHomol.MedicamentoDTO
WsMed.coCodigoBarra = [Ô]7896269900013[Ô]
WsMed.qtPrescrita = 4
WsMed.qtSolicitada = 1
WsMed.vlPrecoVenda = 13.05
ReDim Preserve WsSol.arrMedicamentoDTO(Item)
WsSol.arrMedicamentoDTO(Item) = WsMed
WsSol.dtEmissaoReceita = today
WsSol.nuCnpj = [Ô]08606486000118[Ô]
WsSol.sgUfCrm = [Ô]RS[Ô]
WsSol.nuCrm = [Ô]10001[Ô]
WsSol.nuCpf = [Ô]5954984000[Ô]
WsSol.coSolicitacaoFarmacia = 1
WsSol.dnaEstacao = IdentificaEstacao
Dim WsSer As WsHomol.ServicoSolicitacaoWSService = New WsHomol.ServicoSolicitacaoWSService
WsSer.Url = [Ô]https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS[Ô]
WsSer.Credentials = New System.Net.NetworkCredential(WsUsr.usuarioFarmacia, WsUsr.senhaFarmacia)
WsSer.UseDefaultCredentials = True
System.Net.ServicePointManager.CertificatePolicy = New ConectarWebServ()
Dim WsRet As WsHomol.AutorizacaoDTO = New WsHomol.AutorizacaoDTO
WsRet = WsSer.executarSolicitacao(WsSol, WsUsr)
MsgBox(WsRet.inAutorizacaoSolicitacao)
MsgBox(WsRet.descMensagemErro)
MsgBox(WsRet.coSolicitacaoFarmacia)
MsgBox(WsRet.nuAutorizacao)
MsgBox(WsRet.noPessoa)
Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Farmácia Popular[Ô], MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Ao rodar a função acima, me retorna o erro 40S - Solicitação não autorizada. Caractere inválido no campo senha. Este campo só pode conter letras e números.
Já to ficando sem cabelo de tanto pensar e pesquisar
Alguém poderia me ajudar? Não sei onde está o erro
[txt-color=#e80000]WsUsr.senhaVendedor = [Ô]32761261[/txt-color] FALTA UMA [txt-color=#e80000][Ô][/txt-color] Nesta linha....
Coloquei [Ô] e a mensagem continua a mesma
tentou tirar as duas?
da um bluild e depois clean solution e executa...Pra ver se o erro persiste..
Já fiz todos os testes... O Programa até funciona corretamente ... A minha dúvida é porque tá dando a mensagem que a senha possui caracteres que não são letras e/ou números se eu só uso letras e números. Desconfio que falta alguma linha no meu código.... Mas não consigo imaginar onde
Citação:WsUsr.senhaFarmacia = [Ô]FT1261FT[Ô]
WsUsr.senhaVendedor = [Ô]32761261
Acredito que um desses campos exija somente números. Verifique (passando o mouse por cima da propriedade) se a propriedade é uma string. Caso não seja, você terá que remover as aspas, as letras, e deixar somente os números.
se voce olhar nesta parte do webservice
element name=[Ô]senhaFarmacia[Ô] nillable=[Ô]true[Ô] type=[Ô]xsd:string[Ô]/>
<element name=[Ô]senhaVendedor[Ô] nillable=[Ô]true[Ô] type=[Ô]xsd:string[Ô]/>
<element name=[Ô]usuarioFarmacia[Ô] nillable=[Ô]true[Ô] type=[Ô]xsd:string[Ô]/>
<element name=[Ô]usuarioVendedor[Ô] nillable=[Ô]true[Ô] type=[Ô]xsd:string[Ô]/>
ele pede tanto para usuario quanto para senha uma string , da uma olhada pode ser senha ou usuario incorretos
element name=[Ô]senhaFarmacia[Ô] nillable=[Ô]true[Ô] type=[Ô]xsd:string[Ô]/>
<element name=[Ô]senhaVendedor[Ô] nillable=[Ô]true[Ô] type=[Ô]xsd:string[Ô]/>
<element name=[Ô]usuarioFarmacia[Ô] nillable=[Ô]true[Ô] type=[Ô]xsd:string[Ô]/>
<element name=[Ô]usuarioVendedor[Ô] nillable=[Ô]true[Ô] type=[Ô]xsd:string[Ô]/>
ele pede tanto para usuario quanto para senha uma string , da uma olhada pode ser senha ou usuario incorretos
Tópico encerrado , respostas não são mais permitidas