Einzelnen Beitrag anzeigen
  #1  
Alt 12.02.2016, 14:00:39
lupo72 lupo72 ist offline
Anfänger
 
Registriert seit: Feb 2016
Alter: 51
Beiträge: 2
SoapClient mit Authorization Basic Header

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?
Mit Zitat antworten