Ich muss einen SoapClient zu einem Webservice mit Anmeldedaten erstellen.
Der Server verlangt das die Authentfizierung per Header Authorization Basic mitgeschickt wird - mit SoapUI bekomme ich die Connection indem ich die Authorization "basic" mit angebe wie kann ich das in PHP nachbauen?
Dieser Header wird verlangt - so schickt ihn SoapUI
POST
http://aktuell.kundeninformation.net/api/soap/v6 HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
Content-Length: 302
Host: aktuell.kundeninformation.net
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
Authorization: Basic [user&pass-base64-encoded]
So sieht mein Code momentan aus - ich versuche die Authorisierung per SoapHeader zu setzen
$namespace = "http://ecircle.com/developer/ecmapi";
$wsdl = "https://sslh.teradatadmc.com/teradata/api/soap/v6?wsdl";
$client = new SoapClient($wsdl, array("trace" => 1, "exceptions" => 0));
$login = 'xxx';
$password = 'yyy';
$header = new SoapHeader($namespace, 'Authorization: Basic', base64_encode($login. ':' $password));
$client->__setSoapHeaders($header);
Der Server lehnt die Verbindung mit Error 401 Unauthorized ab
Laut Stacktrace wird auch lediglich dieser Header empfangen:
public '__last_request_headers' => string 'POST /api/soap/v6 HTTP/1.1
Host: aktuell.kundeninformation.net
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.5.12
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
Content-Length: 584
Kann mir jemand einen Hinweis geben, wie ich dem SoapClient einen Authorization Basic Header voranstellen kann?