Использование веб-службы с использованием Curl PHP - PullRequest
0 голосов
/ 18 февраля 2020

У меня проблема с использованием SoapClient, я искал информацию и может быть ошибка с PHP (7.3) и проблема с веб-службой, потому что PHP показывает следующую ошибку:

[05-Feb-2020 22:05:15 Америка / Богота] PHP Неустранимая ошибка: SOAP -ERROR: Схема синтаксического анализа: элемент 'http://xxx.xxx.xxx' уже определен в C: \ wamp64 \ www\proyect \ fac_electroni c. php в строке 364.

Сейчас я пытаюсь использовать следующий код с помощью curl, но не вижу, где находится ошибка.

<?php
set_time_limit(0);
$factura = base64_encode(file_get_contents('FA_2.txt'));

$envelope='<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
    <Body>
        <EmisionDocElecArchivoSustentoRqt xmlns="http://xxx.xxx.xxx">
            <cuenta xmlns="">FAC0</cuenta>
            <empresa xmlns="">FAC</empresa>
            <usuario xmlns="">USR_FAC001</usuario>
            <Documento xmlns="">'.$factura.'</Documento>
            <tipoDocumento xmlns="">F</tipoDocumento>
            <!-- Optional -->
            <documentosSustento xmlns="">
                <docSustento>'.$factura.'</docSustento>
                <extensionDocSustento>txt</extensionDocSustento>
            </documentosSustento>
        </EmisionDocElecArchivoSustentoRqt>
    </Body>
</Envelope>';

$soap_do = curl_init();
curl_setopt($soap_do, CURLOPT_URL,"http://xxx.xxx.xxx:8150/wsdl?configName=ProcesarFactura");
curl_setopt($soap_do, CURLOPT_RETURNTRANSFER, true );
curl_setopt($soap_do, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($soap_do, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($soap_do, CURLOPT_POST,true);            
curl_setopt($soap_do, CURLOPT_POSTFIELDS,$envelope); 
curl_setopt($soap_do, CURLOPT_VERBOSE,TRUE); 
curl_setopt($soap_do, CURLOPT_HTTPHEADER,array("Content-Type: text/xml","SOAPAction: \"/soap/action/query\"", "Content-length: ".strlen($envelope)));

$result = curl_exec($soap_do);
if (curl_errno($soap_do)) {
                    echo '...Request Error:' . curl_error($soap_do);
                }

var_dump($result);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...