Ir para conteúdo
Fórum Script Brasil
  • 0

Enviar XML para Webservice


Thiago Luna

Pergunta

1 resposta a esta questão

Posts Recomendados

  • 0
Olá, pessoal.

Preciso implementar a tal da Nota Fiscal Eletrônica.

O grande problema é de como enviar um arquivo xml para um webservice. Alguém poderia dar uma luz?

Como faço isso com o php? Consigo criar um arquivo xml com informações do banco de dados, mas como enviá-lo?

Desde já agradeço.

Olá tudo bem,

no seu caso vejo duas alternativas utilizar a curl para isso

ex:

$site = "[url="http://www.example.com/"]http://www.example.com[/url]"[/font][font="Courier New"]; 
[/font][font="Courier New"]
 $post = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n....etc, etc,"[/font][font="Courier New"];/* xml do arquivo. 
[/font][font="Courier New"]
[font="Courier New"][/font] $ch = curl_init[/font][font="Courier New"](); 
 curl_setopt($ch, CURLOPT_USERAGENT, 'XtraDoh xAgent'[/font][font="Courier New"]); 
 curl_setopt($ch, CURLOPT_URL, $site[/font][font="Courier New"]); 
 curl_setopt($ch, CURLOPT_TIMEOUT, 900[/font][font="Courier New"]); 
 curl_setopt($ch, CURLOPT_CONNECTIONTIMEOUT, 30[/font][font="Courier New"]); 
 curl_setopt($ch, CURLOPT_FAILONERROR, false[/font][font="Courier New"]); 
 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0[/font][font="Courier New"]); 
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0[/font][font="Courier New"]); 
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true[/font][font="Courier New"]); 
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true[/font][font="Courier New"]); [/font][font="Courier New"]
 curl_setopt($ch, CURLOPT_POST, true[/font][font="Courier New"]); 
 curl_setopt($ch, CURLOPT_POSTFIELDS, $post[/font][font="Courier New"]); 
[/font][font="Courier New"]?>
Sinceramente não acredito que o sistema da nfe irá aceitar mas é um opção a tentar. A segunda auternativa e mais certeira é o padrão soap do php.
[font="Courier New"]$soapClient = new SoapClient("http//cliente");

mas antes de você enviar o arquivo ele deve ser assinado por um certificado os unicos que obtem sucesso com php são os certificados de tipo A1, depois de assinado voce manda e recebe a resposta se está ok ou não, mas antes de enviar você deve verificar o status do servidos da nfe para ver se o sistema está online ou está off, há caso que você devera armazenar os schermas para enviar posteriormente como notas contingentes.

até mais.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...