Keine Verbindung zur WSDL
Ich arbeite mit der älteren version von OpenSSL(OpenSSL 0.9.8 o) und ich war gezwungen, neuere OpenSSL-1.0.1 e-fips als Ergebnis war ich nicht in der Lage zu verbinden, um WSDL:
Message: SoapClient::SoapClient(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Muss ich deaktivieren Sie die SSL-Zertifizierung überprüfen, habe ich versucht:
$client = new SoapClient("https://IP:443/sdk/vimService?wsdl",
array(
"trace" => 1,
"location" => "https://IP:443/sdk/",
"stream_context" => stream_context_create(
array(
'ssl' => array(
'verify_peer' => false,
'allow_self_signed' => true,
)
)
)
)
);
`
Und es zu werfen:
Message: SoapClient::SoapClient(): Peer certificate CN=
localhost.localdom' did not match erwartet CN=SAME IP AS IN SoapClient()'
Dann habe ich 'peer_name'=> 'localhost.localdom',
im stream_context
und dann heißt es XML-Datei leer ist:
Fatal error: Uncaught SoapFault exception: [Client] looks like we got no XML document
PHP 5.5
Du musst angemeldet sein, um einen Kommentar abzugeben.
Okey, ich war in der Lage, Problem gefunden.
Vermeiden Sie dieses Durcheinander mit stabilen PHP-version 5.5
Vor kurzem habe ich gelernt, dass Fehler auf: "looks like we got no XML document" wird verursacht, weil der PHP-version - PHP 5.6 in 5.5 funktioniert wie ein Charme.
Zu beheben, wie es in PHP 5.6
1) Entfernen Sie die SSL-Zertifikat-überprüfung in PHP 5.6:
In version 5.6 SSL-Zertifikat standardmäßig aktiviert, so dass, wenn Sie wollen zu deaktivieren, müssen Sie die pass-Kontext-stream:
2) Gelöscht
?wsdl
und Hinzugefügt.wsdl
statt (mit?wsdl
es nicht worke für mich)In meinem Fall stream_context_create hat nicht geklappt.
Also ich downloade diese Datei hier : https://curl.haxx.se/ca/cacert.pem
und legte es in meine localhost als : F:\xampp\apache\cert.pem
und gab den gleichen Pfad für
openssl.cafile=F:\xampp\apache\cert.pem in meinem phpini
Dies machte den localhost zu erwerben Zertifikat und alles funktioniert Super...!!
Dieses Posting im Falle dies kann helfen, einige gehen durch meine situation.
In meinem Fall war nötig, um das hinzufügen der crypt_method
In meinem Fall "stream_context" hat die Magie, ich habe nur den code Hinzugefügt :