PHP SoapClient schlägt mit - Failed to load external entity

Ich habe versucht, verwenden die Europäische Union-website zu überprüfen TIN-Nummern (Europa-ZINN-Validierung website - es ist eine WSDL an das Ende der Seite)

Das problem das ich habe ist, dass wenn ich versuche einen neuen zu machen SoapClient die Funktion nicht sofort beim erstellen des client. Zuerst hatte ich einen "Failed to load external entity" und ich nahm an, es war, weil die WSDL-hat eine sichere Verbindung. Nach der Suche rund fand ich einige Antworten, die sagte, dass das problem zu tun haben könnte mit dem Zertifikat als veraltet und die neuesten Versionen von PHP werfen Fehler in diesem Fall, also habe ich deaktiviert-Zertifikat Validierung:

    //Stream context due to certificate problems
    $streamContext = stream_context_create(array(
        'ssl' => array(
            'verify_peer' => false,
            'verify_peer_name' => false,
            'allow_self_signed' => true
        )
    ));

Aber jetzt bin ich immer noch ein Fehler: "failed to open stream: HTTP Request failed! HTTP/1.1 502 Bad Gateway". Irgendwelche Gedanken darüber, wie Sie dieses Problem lösen? Wenn ich entfernen Sie "https://" aus dem link, bekomme ich das gleiche Ergebnis wie zuvor mit dem "failed to load external entity" - Meldung.

Nun, hier ist die echte Gehirn-picker. Wenn ich versuche, mit chrome-Erweiterung "Boomerang" zu testen, die SOAP-Aufrufe auf WSDL-es funktioniert absolut perfekt, so habe ich keine Ahnung, was hier falsch... Jeder kann leicht versuchen dies, indem Sie versuchen, eine soap-aufrufen in einer PHP-Datei.

Hier ist der vollständige code:

public static function validateTIN($tin) {
    //Stream context due to certificate problems
    $streamContext = stream_context_create(array(
        'ssl' => array(
            'verify_peer' => false,
            'verify_peer_name' => false,
            'allow_self_signed' => true
        )
    ));

    //Create our soap client
    $client = new SoapClient('https://ec.europa.eu/taxation_customs/tin/checkTinService.wsdl', array(
        'exceptions' => 0,
        'trace' => 1,
        'connection_timeout' => 1800,
        'stream_context' => $streamContext
    ));

    dd($client->__getFunctions());

    return true;
}
Sie haben immer noch diese Fehlermeldung erhalten? Ich habe einfach versucht, Ihren source-code es funktionierte ohne Probleme.
Welche version von PHP ist das scheitern?

InformationsquelleAutor Tiago Magalhães | 2016-06-21

Schreibe einen Kommentar