Отправить XML-запрос на веб-сервис от php - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь отправить xml-запрос на веб-сервис из PHP, используя curl. Я не знаю много о веб-сервисе.

Когда я запускаю этот код, результат всегда выглядит как «Завершено без ошибок».

XML должен быть действителен для веб-службы, но я не могу получить ответ. Если я дам данные $, то они пустые.

Что я делаю не так?

Код:

$request = build_xml();
$length = strlen($request);

$url = "https://sonwin-test.forsyningsit.dk/XMLBasisWS.svc?wsdl";

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10000);
curl_setopt($curl, CURLOPT_TIMEOUT, 10000);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $request);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Contant-Type: application/xml', 'Content-Length: ' .$length));

$data = curl_exec($curl);

if ($data === false) {
    $err = 'Curl error: ' . curl_error($curl);
    curl_close($curl);
    print $err;
} else {
    curl_close($curl);
    print 'Completed with no errors.';
}

return $data;

UPDATE: Похоже, я получаю ошибку HTTP 415 из-за типа контента. Теперь тип содержимого это application / soap + xml. Но теперь я получаю HTTP 400 Bad Request.

...