Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2320 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Olá pessoal, dia 05/11 o DataSus informou uma mudança no seu endereço de webservice para as autorizações da Farmácia Popular. o wsdl novo é https://farmaciapopular-autorizador-homologacao.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS?wsdl (Homologação)

Minha pergunta é para quem trabalha com isso está conseguindo consumir o ws com este novo endereço? Eu não consigo, simplesmente dá um excetion com ""Line: 2
<p>Hi there, this is an AXIS service!</p"
.

Com o endereço antigo funciona OK.

Obrigado por qualquer ajuda.

  • Membros Pro
Postado (editado)
Boa tarde.
 
Mesmo erro aqui comigo.
 
Para atender a alteração de webservice:
 
 
2. Baixei o novo pacote do GBAS e substitui o antigo;
 
3. Gerei nova identificação do terminal e exclui / recadastrei no site da farmácia;
 
Se testo pelo webservice antigo passa normalmente, mas pelo novo me retorna o mesmo erro Line: 2<p>Hi there, this is an AXIS service!</p".
 
Também mandei e-mail para o suporte do Farmacia Popular e no caso de novidades posto aqui.
Editado por marcellocainelli
Postado

Olá Pessoal, a solução é a seguinte:

-> O WSDL está errado no final, onde tem a URL.

Então é necessário alterar o .pas gerado e na "function GetServicoSolicitacaoWS", na URL e colocar "HTTPS", pois o Delphi vai gerar sempre com "HTTP" (pelo fato de estar errado lá..).

Abraços.

Postado

Bom dia a todos..

Fiz todos os procedimentos que o marcellocainelli e Rafael Sartori relataram, mas quando realizo uma solicitação no novo DNS retorna o seguinte erro:

 ESOAPHTTPException - O identificador não está no estado correto para a operação solicitada - URL:http://farmaciapopular-autorizador-homologacao.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS - SOAPAction:""

Alguns de vocês está passando por este problema?

Postado

Não consegui resolver no meu

poderiam me dar o exemplo do .pas e da inicialização que vocês usaram

já tentei de tudo e não consegui

 

  Em 09/11/2018 at 15:45, Kizzy Kissi disse:

Também consegui mudando o .pas, mas precisei mudar a inicialização do WS.

Expandir  

 

  Em 09/11/2018 at 10:23, Emersson A Pereira disse:

Consegui resolver...

Como o Rafael Sartori disse tem que baixar o WSDL e editar, pois se passar como parametro do WSDLLocation está "errado" lá.

Obrigado...

Expandir  

 

Postado
  Em 13/11/2018 at 15:29, Márcio Mello disse:

Não consegui resolver no meu

poderiam me dar o exemplo do .pas e da inicialização que vocês usaram

já tentei de tudo e não consegui

 

 

 

Expandir  
function GetServicoSolicitacaoWS(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): ServicoSolicitacaoWS;
const
  defWSDL = 'https://farmaciapopular-autorizador.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS?wsdl';
  defURL  = 'https://farmaciapopular-autorizador.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS';
  defSvc  = 'ServicoSolicitacaoWSService';
  defPrt  = 'ServicoSolicitacaoWS';

Ai está como deve ficar, na constante "defURL" tem que colocar o "https"...

 

Postado
  Em 13/11/2018 at 15:29, Márcio Mello disse:

Não consegui resolver no meu

poderiam me dar o exemplo do .pas e da inicialização que vocês usaram

já tentei de tudo e não consegui

 

 

 

Expandir  

Ex: 

procedure TNgFciaPopular.setAmbiente;
var
  sUrl: string;
    WS_FciaPopular: ServicoSolicitacaoWS;
begin
    sUrl := 'https://farmaciapopular-autorizador-homologacao.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS?wsdl';
    WS_FciaPopular:= GetServicoSolicitacaoWS(false,sUrl,nil);
end;

Tive que mudar para UseWSDL para false;

 

 

Postado
  Em 13/11/2018 at 17:28, Kizzy Kissi disse:

Ex: 

procedure TNgFciaPopular.setAmbiente;
var
  sUrl: string;
    WS_FciaPopular: ServicoSolicitacaoWS;
begin
    sUrl := 'https://farmaciapopular-autorizador-homologacao.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS?wsdl';
    WS_FciaPopular:= GetServicoSolicitacaoWS(false,sUrl,nil);
end;

Tive que mudar para UseWSDL para false;

 

 

Expandir  

 

  Em 13/11/2018 at 15:40, Rafael Sartori disse:
function GetServicoSolicitacaoWS(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): ServicoSolicitacaoWS;
const
  defWSDL = 'https://farmaciapopular-autorizador.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS?wsdl';
  defURL  = 'https://farmaciapopular-autorizador.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS';
  defSvc  = 'ServicoSolicitacaoWSService';
  defPrt  = 'ServicoSolicitacaoWS';

Ai está como deve ficar, na constante "defURL" tem que colocar o "https"...

 

Expandir  

tinha que colocar realmente o hhtps

mas se nao passar o useWSDL para false não funciona

problema resolvido

obrigado pessoal

 

 

  • Curtir 1
Postado

Boa tarde, eu já fiz essa alteração de colocar o S no HTTP.

Segue abaixo o .pas que estou usando.

Aqui os parâmetros que estou usando:

    HTTPRIO1.URL                     := 'https://farmaciapopular-autorizador.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS';
    HTTPRIO1.WSDLLocation  := 'https://farmaciapopular-autorizador.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS?wsdl';
    HTTPRIO1.Service               := 'ServicoSolicitacaoWSService';
    HTTPRIO1.Port                    := 'ServicoSolicitacaoWS';
    wDaTaSUS                            := HTTPRIO1 AS ServicoSolicitacaoWS;

 

ServicoSolicitacaoWS1.pas

Postado
  Em 14/11/2018 at 17:00, carlos vilanova disse:

Boa tarde, eu já fiz essa alteração de colocar o S no HTTP.

Segue abaixo o .pas que estou usando.

Aqui os parâmetros que estou usando:

    HTTPRIO1.URL                     := 'https://farmaciapopular-autorizador.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS';
    HTTPRIO1.WSDLLocation  := 'https://farmaciapopular-autorizador.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS?wsdl';
    HTTPRIO1.Service               := 'ServicoSolicitacaoWSService';
    HTTPRIO1.Port                    := 'ServicoSolicitacaoWS';
    wDaTaSUS                            := HTTPRIO1 AS ServicoSolicitacaoWS;

 

ServicoSolicitacaoWS1.pasFetching info...

Expandir  

Boa tarde, 

também estou com o mesmo problema, meus parâmetros e minha ServicoSolicitacaoWS1.pas estão exatamente iguais a sua.

Mesmo colocando o S no HTTP, não vai, continua a mensagem:
O identificador não está no estado correto para a operação solicitada - URL:http://farmaciapopular-autorizador-homologacao.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS - SOAPAction:"" 

No initialization da ServicoSolicitacaoWS1.pas tem essa função abaixo:
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(ServicoSolicitacaoWS), '');

Onde realmente o parâmetro está vazio, porém tentei colocar o endereço do WebService (http://service.datasus.org/) e nada.

Caso tenha ou alguém ai possa nos ajudar com a solução, agradeço.

"Não me envergonho de mudar de opinião, porque não me envergonho de pensar" (Blaise Pascal)

Postado
  Em 14/11/2018 at 19:02, FocusRJ disse:

Boa tarde, 

também estou com o mesmo problema, meus parâmetros e minha ServicoSolicitacaoWS1.pas estão exatamente iguais a sua.

Mesmo colocando o S no HTTP, não vai, continua a mensagem:
O identificador não está no estado correto para a operação solicitada - URL:http://farmaciapopular-autorizador-homologacao.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS - SOAPAction:"" 

No initialization da ServicoSolicitacaoWS1.pas tem essa função abaixo:
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(ServicoSolicitacaoWS), '');

Onde realmente o parâmetro está vazio, porém tentei colocar o endereço do WebService (http://service.datasus.org/) e nada.

Caso tenha ou alguém ai possa nos ajudar com a solução, agradeço.

Expandir  

Vc viu a sua mensagem de erro? 

-> O identificador não está no estado correto para a operação solicitada - URL:http://farmaciapopular-autorizador-homologacao.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS - SOAPAction:"" 

Alí está  "http..." tem alguma coisa errada no seu fonte que ele está chamando http ao invés de https

Abraços

 

Postado (editado)
  Em 14/11/2018 at 19:27, Rafael Sartori disse:

Vc viu a sua mensagem de erro? 

-> O identificador não está no estado correto para a operação solicitada - URL:http://farmaciapopular-autorizador-homologacao.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS - SOAPAction:"" 

Alí está  "http..." tem alguma coisa errada no seu fonte que ele está chamando http ao invés de https

Abraços

 

Expandir  

 

  Em 14/11/2018 at 17:00, carlos vilanova disse:

Boa tarde, eu já fiz essa alteração de colocar o S no HTTP.

Segue abaixo o .pas que estou usando.

Aqui os parâmetros que estou usando:

    HTTPRIO1.URL                     := 'https://farmaciapopular-autorizador.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS';
    HTTPRIO1.WSDLLocation  := 'https://farmaciapopular-autorizador.saude.gov.br/farmaciapopular-autorizador/services/ServicoSolicitacaoWS?wsdl';
    HTTPRIO1.Service               := 'ServicoSolicitacaoWSService';
    HTTPRIO1.Port                    := 'ServicoSolicitacaoWS';
    wDaTaSUS                            := HTTPRIO1 AS ServicoSolicitacaoWS;

 

ServicoSolicitacaoWS1.pasFetching info...

Expandir  

@Rafael Sartori tinha percebido sim, porém não sabia o pq.
Parece que consegui resolver aqui da seguinte forma: Na linha wDaTaSUS := HTTPRIO1 AS ServicoSolicitacaoWS, mudei para wDaTaSUS := GetServicoSolicitacaoWS(False,'', HTTPRIO1);
Assim este erro parou, isso pode até ajudar o nosso amigo ai @carlos vilanova

Porém agora estou com problemas de erro:  50S - Solicitação não autorizada. Computador não autorizado a realizar transações por esta farmácia. Necessário acessar o portal da farmácia para cadastrar este computador.

Mesmo eu usando o GBAS que baixei no site, usando o aplicativo deles que já gera o texto pra cadastrar ou até mesmo o meu, não está indo.

Vc tem alguma sugestão pra mim?

To fazendo tentativas aqui, caso consiga informo aqui pra todos.

Obrigado, Abraços

Editado por FocusRJ

"Não me envergonho de mudar de opinião, porque não me envergonho de pensar" (Blaise Pascal)

Postado
  Em 14/11/2018 at 19:39, FocusRJ disse:

 

@Rafael Sartori tinha percebido sim, porém não sabia o pq.
Parece que consegui resolver aqui da seguinte forma: Na linha wDaTaSUS := HTTPRIO1 AS ServicoSolicitacaoWS, mudei para wDaTaSUS := GetServicoSolicitacaoWS(False,'', HTTPRIO1);
Assim este erro parou, isso pode até ajudar o nosso amigo ai @carlos vilanova

Porém agora estou com problemas de erro:  50S - Solicitação não autorizada. Computador não autorizado a realizar transações por esta farmácia. Necessário acessar o portal da farmácia para cadastrar este computador.

Mesmo eu usando o GBAS que baixei no site, usando o aplicativo deles que já gera o texto pra cadastrar ou até mesmo o meu, não está indo.

Vc tem alguma sugestão pra mim?

To fazendo tentativas aqui, caso consiga informo aqui pra todos.

Obrigado, Abraços

Expandir  

@FocusRJ Veja se vc não está trocando os ambientes, porque estes endereços aí são para produção. O cadastro do computador é distinto para cada ambiente.

Abraços

  • 2 semanas depois ...
  • Membros Pro
Postado

Estou conseguindo fazer a pré autorização sem problemas. Todavia em muitos clientes no final quando vai confirmar a venda da o erro de "XML de nível inferior". Outros clientes vai sem problemas inclusive nos computadores do escritório onde fazemos o teste. Nos clientes onde da o erro no final basta desativar o novo DNS e colocar o atual que a venda ocorre normalmente. Vcs estão com problemas assim também?

  • Membros Pro
Postado

Obrigado a todos pelo feedback. Realmente neste momento parece que não existe nenhum padrão. Ora funciona, ora não funciona. Vocês conseguiram gerar o DNA do computador seja para cadastrar com o programa IDENTIFICATERMINAL.EXE ou para fazer venda com o GBASMSB.EXE em computadores com windows XP ?

  • Este tópico foi criado há 2320 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 9 segundos...