Здравствуйте, есть soap запрос, который хочу перевести в curl, но сервер отвечает ошибкой. Самой структуры xml нет, есть только код:
$client = new SoapClient(null, array(
'location' => 'https://site/soap.php',
'uri' => 'https://site/soap.php',
'login' => 'log', 'password' => 'pass')
);
$parameters = array(
"name1" =>"value1",
"name2" => "value2");
$action='SOAPAction';
$results = $client->$action($parameters);
Пробовал так, результат - ошибка о неправильном запросе:
$xml=http_build_query($parameters);
$headers = array(
"Cache-Control: no-cache",
"Pragma: no-cache",
"SOAPAction: $action",
"Content-length: ".strlen($xml),
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_URL, 'https://site/soap.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, "log:pass"); /
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); /
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// converting
$response = curl_exec($ch);
curl_close($ch);
Есть идеи какие правки стоит внести?