Jednak serwer obsługuje curla.
Mam takie coś:
<?php
function post_xml($url, $xml) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt
($ch, CURLOPT_POSTFIELDS
, array('data' => $xml)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
$result = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
return $result;
}
$xml = '<?xml version="1.0" encoding="UTF-8"?><a><b>aaa</b></a>';
$url = "https:/url/x/x/x";
$result = post_xml($url, $xml);
?>
Próbowałem też z:
curl_setopt
($ch, CURLOPT_HTTPHEADER
, array('Content-Type: text/xml'));
I w obu przypadkach:
Kod
HTTP/1.1 100 Continue
HTTP/1.1 404 Not Found
Date: Mon, 27 Jan 2014 19:40:40 GMT
Server: Apache
Content-Length: 110
Connection: close
Content-Type: text/plain
Could not find resource for relative :
Link jest na pewno dobry :/
Dodam jeszcze, że w dokumentacji jest tak napisane:
Kod
Dostęp do API (interfejsu REST) jest chroniony za pomocą basic-authorization. Przy wywoływaniu
wszystkich metod, należy podać login i hasło Partnera.
W celu rejestracji, należy wysłać metodą POST (kontent type: application/xml)
następujący XML:
pod adres: https://xx/x/x/x/
W przypadku prawidłowej rejestracji (kod HTTP 2xx), zwrotnie zostanie dostarczony XML: