Soap Header mit Authorization Basic in nativem PHP

Ich muss eine Verbindung zur TeraData-SOAP-API herstellen, die jetzt das Senden eines Authorization Basic-Headers mit den Anmeldeinformationen erfordert. Ich weiß nicht, wie ich das Problem angehen soll. Ich habe Zugriff auf SoapUI, als ich Basic Authorization Header hinzufügte. Kann mir jemand helfen, den Code zu korrigieren?

Hier ist der Header, den SoapUI sendet und die Antwort ist gut:

POST http://example.com/api/soap/v6 HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
Content-Length: 302
Host: example.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
Authorization: Basic [user&pass-base64-encoded]

So versuche ich meinen SoapClient einzurichten:

$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);

Es wird nicht akzeptiert und ich erhalte nur einen nicht autorisierten HTTP / 1.1 401-Fehler.

Die Stapelverfolgung zeigt mir den von mir gesendeten Header - der Autorisierungsteil fehlt dort.

public '__last_request_headers' => string 'POST /api/soap/v6 HTTP/1.1
Host: example.com
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.5.12
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
Content-Length: 584

Antworten auf die Frage(4)

Ihre Antwort auf die Frage