Запрос SOAP Laravel 8 возвращает ошибку 500Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Запрос SOAP Laravel 8 возвращает ошибку 500

Сообщение Anonymous »

Я пытаюсь выполнить POST-вызов с помощью SOAP в Laravel 8, чтобы получить некоторые данные, но если я добавлю в вызов заголовки, удаленный сервер вернет ошибку 500.
Также если заголовки не определены, я получаю пустой ответ.
Вот код, который я использовал:

Код: Выделить всё

try {
$data = $this->generateXml($get_last_day);
$client = new Client(['verify' => false ]);

$headers = [
'SOAPAction' => "https://api.xyz.com/DataService/PostData",
'Content-Type' => "text/xml"
];

$get_invoices_only_paid = $client->request('POST', config('constants.service.URL'), [
'headers' => $headers,
'body' => $data
]);

Log::debug(json_encode($get_invoices_only_paid->getStatusCode()));
dd($get_invoices_only_paid->getStatusCode());

} catch (Exception $e) {
dd($e->getCode(), $e->getMessage());
}

Вот переданный мною SOAP XML:

Код: Выделить всё

public function generateXml($date)
{
// $xml = new SimpleXMLElement(''.$date->format("Y-m-d").'');
$xml = new SimpleXMLElement('2024-04-15');

$customXML = new SimpleXMLElement($xml->asXML());
$dom = dom_import_simplexml($customXML);
$cleanXml = $dom->ownerDocument->saveXML($dom->ownerDocument->documentElement);

$soapHeader = 'usernamepassword';
$soapFooter = '';
$xmlRequest = $soapHeader . $cleanXml . $soapFooter;

return $xmlRequest;
}
и ошибка после вызова:

Код: Выделить всё

500
"""
Server error: `POST https://services.as24.com:8445/infoservice/services/infoservice` resulted in a `500 500` response:\n
soap:Server

Подробнее здесь: [url]https://stackoverflow.com/questions/78815750/laravel-8-guzzle-soap-request-returns-error-500[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»