Ir para conteúdo
  • Cadastre-se

dev botao

Farmácia Popular novo DNS do webservice


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

Recommended Posts

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.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
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
Link para o comentário
Compartilhar em outros sites

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?

Link para o comentário
Compartilhar em outros sites

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 13:45, Kizzy Kissi disse:

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

 

Em 09/11/2018 at 08: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...

 

Link para o comentário
Compartilhar em outros sites

7 minutos atrás, 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

 

 

 

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"...

 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, 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

 

 

 

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;

 

 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, 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;

 

 

 

3 horas atrás, 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"...

 

tinha que colocar realmente o hhtps

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

problema resolvido

obrigado pessoal

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

1 hora atrás, 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.pas

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)

Link para o comentário
Compartilhar em outros sites

23 minutos atrás, 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.

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

 

Link para o comentário
Compartilhar em outros sites

12 minutos atrás, 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

 

 

2 horas atrás, 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.pas

@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)

Link para o comentário
Compartilhar em outros sites

5 minutos atrás, 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

@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

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Membros Pro

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?

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

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 ?

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1947 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.