Php 致命错误:未捕获SoapFault异常:[HTTP]发送HTTP SOAP失败

Php 致命错误:未捕获SoapFault异常:[HTTP]发送HTTP SOAP失败,php,soap,soap-client,Php,Soap,Soap Client,我编写了一个PHP脚本,使用PHP7.2.14中的SOAP_客户端执行SOAP请求以发送一些数据并上传base64binary 使用少量数据(小文件80KB),请求将失败,并出现以下错误: 致命错误:未捕获的SoapFault异常:[HTTP]无法发送HTTP SOAP 我在服务器上检查了default\u socket\u timeout,并增加了它。我还尝试了base64\u econde字符串,但SOAP已经自己对它进行了编码 我的代码: //WS SETTINGS $wsdl = "ht

我编写了一个PHP脚本,使用PHP7.2.14中的SOAP_客户端执行SOAP请求以发送一些数据并上传
base64binary

使用少量数据(小文件<60 Kb)执行SOAP请求后,请求将通过。如果我添加一个更大的文件来上传(>80KB),请求将失败,并出现以下错误:

致命错误:未捕获的SoapFault异常:[HTTP]无法发送HTTP SOAP

我在服务器上检查了
default\u socket\u timeout
,并增加了它。我还尝试了
base64\u econde
字符串,但SOAP已经自己对它进行了编码

我的代码:

//WS SETTINGS
$wsdl = "https://ws.eye-move.nl/WoningDocument.asmx?WSDL";
$ns = 'http://ws.eye-move.nl/WoningDocument';


// SOAP client
$params = array ('trace' => 1, 'exceptions' => 1, "connection_timeout" => 180);
$client = new SoapClient($wsdl, $params);

//COLLECT DATA FOR UPLOADING
$RecID = '34244701';
$filename = 'Testfile-'.date("Y-m-d H:i:s").'.pdf';
$filecontent = file_get_contents('temp/test.pdf');

//SET HEADERS
$headerBody = array(
    'Username' => $login,
    'Password' => $password,
    'Customer' => $partnerID
);

$header = new SoapHeader($ns, 'AuthHeader', $headerBody);
$client->__setSoapHeaders($header);

$data = array(
    'WoningID' => $RecID,
    'WoningDocumentBestand' => array('Bestandsnaam'=>$filename,'Bestand'=>$filecontent),
    'WoningDocumentType' => 'DocumentType',
    'Omschrijving' => 'Description',
    'Volgorde' => '1'
);
$result = $client->Add(array('Gegevens' => $data));
完全例外:

Fatal error: Uncaught SoapFault exception: [HTTP] Failed Sending HTTP SOAP request in /var/www/vhosts/acceptatie.nl/httpdocs/sendrapport3.php:65 Stack trace: #0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'ws.eye-m...', 'ws.eye-m...', 1, 0) #1 /var/www/vhosts/acceptatie.nl/httpdocs/sendrapport3.php(65): SoapClient->__call('Add', Array) #2 {main} thrown in /var/www/vhosts/acceptatie.nl/httpdocs/sendrapport3.php on line 65 
你知道为什么小文件发送成功而大文件(>80KB)发送失败吗


非常感谢

我也遇到了同样的问题,尝试了下面的解决方案,它对我有效。 但我不知道您在头中传递了哪些值。 请加上

#) libxml_disable_entity_loader(false); // above the WS SETTINGS and try it.

你能发布更多关于异常的信息吗?你知道你尝试使用的服务对文件大小是否有任何限制吗?服务没有限制,唯一的限制是他们告诉我的2分钟的超时限制。我在触发后的1秒内收到了de错误。完整验证:致命错误:未捕获的SoapFault异常:[HTTP]未能在/var/www/vhosts/acceptatie.nl/httpdocs/sendreport3.php:65堆栈跟踪:#0[内部函数]:SoapClient->u doRequest('找到解决方案了吗?我遇到了完全相同的问题:(您得到了什么?您是否在php.ini中启用了soap?如果是,则在更改文件后是否重新启动服务器?是的,启用了soap。我可以使用该脚本,但只能使用非常小的base64字符串作为数据。因此它只能处理非常小的文件。)
#) libxml_disable_entity_loader(false); // above the WS SETTINGS and try it.