Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ukow

Erro SOAP ao enviar XML

Recommended Posts

Estou tentando enviar um XML para o webservice da Rede

Porém ao enviar ocorre o seguinte erro.

"soap:ReceiverServer was unable to process request. ---> Data at the root level is invalid. Line 1, position 1.



0



 


 

soap:ReceiverServer was unable to process request. ---> Data at the root level is invalid. Line 1, position 1."

O que pode ser?

<?php 

$ANO = $_POST['ANO'];
$CVC2 = $_POST['CVC2'];
$FILIACAO = "0000000";
$MES = $_POST['MES'];
$NRCARTAO = $_POST['NRCARTAO'];
$NUMPEDIDO = "20041416";
$ORIGEM = "01";
$PARCELAS = "00";
$PORTADOR = $_POST['PORTADOR'];
$RECORRENTE = "0";
$TOTAL = $_POST['TOTAL'];
$TRANSACAO = "4";
 
 
 $mensagem= "<?xml version='1.0' encoding='utf-8'?>";
$mensagem.= " <requisicao-consulta id='5' versao='1.0.0'>";
$mensagem.= "<TOTAL>";
$mensagem.= $TOTAL;
$mensagem.= "</TOTAL>";

$mensagem.= "<TRANSACAO>";
$mensagem.= $TRANSACAO;
$mensagem.= "</TRANSACAO>";

$mensagem.= "<PARCELAS>";
$mensagem.= $PARCELAS;
$mensagem.= "</PARCELAS>";

$mensagem.= "<FILIACAO>";
$mensagem.= $FILIACAO;
$mensagem.= "</FILIACAO>";

$mensagem.= "<NUMPEDIDO>";
$mensagem.= $NUMPEDIDO;
$mensagem.= "</NUMPEDIDO>";

$mensagem.= "<NRCARTAO>";
$mensagem.= $NRCARTAO;
$mensagem.= "</NRCARTAO>";

$mensagem.= "<CVC2>";
$mensagem.= $CVC2;
$mensagem.= "</CVC2>";

$mensagem.= "<MES>";
$mensagem.= $MES;
$mensagem.= "</MES>";

$mensagem.= "<ANO>";
$mensagem.= $ANO;
$mensagem.= "</ANO>";

$mensagem.= "<PORTADOR>";
$mensagem.= $PORTADOR;
$mensagem.= "</PORTADOR>";

$mensagem.= "<IATA></IATA>";

$mensagem.= "<DISTRIBUIDOR></DISTRIBUIDOR>";

$mensagem.= "<CONCENTRADOR></CONCENTRADOR>";

$mensagem.= "<TAXAEMBARQUE></TAXAEMBARQUE>";


$mensagem.= "<ENTRADA></ENTRADA>";


$mensagem.= "<NUMDOC1 a NUMDOC4></NUMDOC1 a NUMDOC4>";


$mensagem.= "<PAX1 a PAX4></PAX1 a PAX4>";


$mensagem.= "<CONFTXN>S</CONFTXN>";

$mensagem.= "<ADD_Data></ADD_Data>";
$mensagem.= " </requisicao-consulta>";

 
 
 /**
 * Iniciando CURL
 */
 $curl = curl_init();
 
 /**
 * Verificamos se o recurso CURL foi criado com êxito
 */
 if ( is_resource( $curl ) ){
        curl_setopt( $curl , CURLOPT_HEADER , 0 );
                curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt( $curl , CURLOPT_RETURNTRANSFER , 1 );
        curl_setopt( $curl , CURLOPT_FOLLOWLOCATION , 1 );
        curl_setopt( $curl , CURLOPT_URL , 'https://ecommerce.userede.com.br/pos_virtual/wskomerci/cap.asmx?WSDL' );
        curl_setopt( $curl , CURLOPT_POST , 1 );
        curl_setopt( $curl , CURLOPT_POSTFIELDS , http_build_query( array( 'mensagem' => $mensagem ) ) );
 
        $xml = curl_exec( $curl ); $ern = curl_errno( $curl ); $err = curl_error( $curl );
 
        curl_close( $curl );
 
        if ( (bool) $ern ){
                echo 'Ocorreu um erro[' , $ern , ']: ' , $err;
        } else {
                //var_dump( $xml , $ern , $err );
                                print_r($xml."<br><hr><br>");
                                print_r($ern."<br><hr><br>");
                                print_r($err."<br><hr><br>");
                                $DadosEnvio= simplexml_load_string($xml);
                                echo "<pre>".$xml."</pre>";

        }
 } else {
        echo 'erro';
 }
?>
 

Obrigado :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por Jack Oliveira
      Boa noite galera..
       
      Estou tentando gerar um sitemap com php
       
      So que tenho que por o limit 1200 
       
      mais que isso ele nao gera e se deixar sem limit 
       
      Obs: o banco de dados contem mais de 10 mil registros
      <?php // Data e hora atual $datetime = new DateTime(date('Y-m-d H:i:s')); // A linha abaixo me retornará uma data no seguinte formato: 2017-11-22T00:06:23-02:00 $date = $datetime->format(DateTime::ATOM); // ISO8601 // Gera o arquivo XML do sitemap $xml = '<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> <url> <loc>'.ConfigPainel('site_url').'</loc> <lastmod>'.$date.'</lastmod> <changefreq>weekly</changefreq> <priority>1.00</priority> </url>'; $Query = DBRead('cidades','*',"WHERE status ='1' ORDER BY nome ASC"); if (is_array($Query)) { foreach ($Query as $modcid) { $xml .=' <url> <loc>'.ConfigPainel('site_url').''.$modcid['subdominio'].'/</loc> <lastmod>'.$date.'</lastmod> <changefreq>weekly</changefreq> <priority>1.00</priority> </url>'; //$QueryR = DBRead('directory_guia', '*',"WHERE cidade='{$modcid['id']}' AND status='1' ORDER BY titulo ASC"); $QueryR = DBRead('directory_guia', '*',"WHERE cidade='{$modcid['id']}' AND status='1' ORDER BY titulo ASC LIMIT 1200"); if (is_array($QueryR)) { foreach ($QueryR as $v) { $Queryc = DBRead('cidades', '*',"WHERE id='{$v['cidade']}' ORDER BY nome ASC")[0]; if(empty($v['slug'])) { }else{ $urlseo = ''.ConfigPainel('site_url').''.$Queryc['subdominio'].'/list/'.$v['slug'].'/'; $xml .=' <!-- INICIO DA EMPRESA '.TRIM($v['titulo']).' --> <url> <loc>'.$urlseo.'</loc> <lastmod>'.$date.'</lastmod> <changefreq>weekly</changefreq> <priority>0.85</priority> </url> <!-- FIM DA EMPRESA '.TRIM($v['titulo']).' --> '; } }} }} $xml .= ' </urlset>'; // Abre o arquivo ou tenta cria-lo se ele não exixtir $arquivo = fopen('../sitemap.xml', 'w'); if (fwrite($arquivo, $xml)) { Redireciona('./index.php?sucesso'); } else { Redireciona('?erro'); } fclose($arquivo); // Compactar arquivo sitemap para GZIP $data = implode("", file("sitemap.xml")); $gzdata = gzencode($data, 9); $fp = fopen("sitemap.xml.gz", "w"); fwrite($fp, $gzdata); fclose($fp); // Envia para o Google o novo sitemap gerado $urlSitemap = "http://www.google.com/webmasters/sitemaps/ping?sitemap=".ConfigPainel('site_url').""; // Arquivos a serem enviados $Files = ['sitemap.xml', 'sitemap.xml.gz']; // Envia os dois arquivos sitemap gerados para a URL do Google foreach ($Files as $file) { $url = $urlSitemap . $file; $ch = curl_init($url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); } ?> Caso ouve outra forma que eu possa gerar este sitemap com php fico grato...
    • Por Wilherme
      Boa tarde galera, preciso de uma ajuda,
       
      Tenho um gráfico no meu Power Bi porem apresenta o erro abaixo:
       

       
      já habilitei as funções porém ainda com erro.
       
       
      Obrigado.
    • Por 4Unknow
      Bom dia comunidade Imasters.

      Venho aqui tratar de um problema dúvida que estou tendo com um layout que estou tentando usar o formulário php dele.
      Quando clico em enviar ele me enviar para um arquivo .php  (assets/vendor/simple-forms/sendmail.php)

      Ele não envia o e-mail, acredito que deveria aparecer uma mensagem que o contato foi enviado corretamente.
      Vou deixar os arquivos aqui em anexo quem puder me ajudar nessa, ficaria muito grato.
       
      Link Website (wetransfer.com)
    • Por marcelo.ourico
      Boa noite. Pessoal, mais uma vez aqui pedindo uma ajuda.

      Estou tentando enviar uma NFSe via SOAP.

      Estou recebendo o seguinte erro:

      Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Client] ERRO : cvc-complex-type.4: Attribute 'Algorithm' must appear on element 'ns2:CanonicalizationMethod'. in

      O meu Array está da seguinte forma:
      Array
      (
      [CanonicalizationMethod] => Array
      (
      [@attributes] => Array
      (
      [Algorithm] => http://www.w3.org/TR/2001/REC-xml-c14n-20010315
      )
      )

      Não entendi o porque desse erro, alguém sabe ajudar?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.