php soapclient-wsdl-SOAP-ERROR: Parsing WSDL: Couldn ' T load from
Ich habe gegoogelt und schaute hier bei stackoverflow, aber ich habe nicht gefunden eine Lösung für mein spezifisches problem. Ich erhalte die Fehlermeldung
SOAP-ERROR: Parsing WSDL: Couldnt load from "https://sampleurl.com/MerchantQueryService.asmx?WSDL" : failed to load external entity "https://sampleurl.com/MerchantQueryService.asmx?WSDL"
Ich bin versucht, eine SOAP-API mit einer URL wie
https://sampleurl.com/MerchantQueryService.asmx?WSDL
Ich arbeite mit MAMP auf meinem localhost und mit godaddy shared hosting, ich habe versucht, sowohl mit der wsdl-Datei finden Sie hier
http://clemdemo.com/test.wsdl
In PHP habe ich folgenden code verwenden
error_reporting(-1);
ini_set('display_errors', 'On');
ini_set('soap.wsdl_cache_enabled', 0);
echo "<pre>";
try {
$url = "https://sampleurl.com/MerchantQueryService.asmx?WSDL ";
$headers = [
'Host: sampleurl.com',
'Connection: Keep-Alive',
'User-Agent: PHP-SOAP/5.3.29',
'Content-Type: text/xml; charset=utf-8',
'SOAPAction: "RequestTransaction"',
'Content-Length: 409'];
$rq = [
"userName" => "username_here",
"passWord" => "password_here",
"referenceId" => "3455566694",
"msisdn" => "346774313"];
try {
$cient = new SoapClient($url,
[
'soap_version' => SOAP_1_2,
'exceptions' => 1,
'cache_wsdl' => WSDL_CACHE_NONE,
'trace' => 1,
'stream_context' => stream_context_create(array('http' => array('header' => $headers)))
]);
print_r($cient);
} catch (SoapFault $e) {
echo "\nFault Code: ".$e->faultcode;
echo "\nFault String: ".$e->faultstring;
}
Auf meinem MAMP localhost habe ich SOAP,openssl und curl.
AUßERDEM habe ich versucht, mit (Anfrage senden), um die API mit einem online-WSDL - http://wsdlbrowser.com es FUNKTIONIERT, aber auf code mit PHP scheitert es
InformationsquelleAutor Erick | 2015-11-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Passiert es oft, dass die Anbieter vernachlässigen Ihre SSL-Zertifikate und damit die Standorte und-Dienste landen mit einer ungültigen Zertifikaten - ich vermute, dies ist hier der Fall.
Deaktivierung der Zertifikatsüberprüfung wie beschrieben von Kaii hier oder noch besser deinen provider zu beheben, deren Zertifikat.
Dein code könnte/sollte dann so etwas wie:
InformationsquelleAutor Michael Pedersen
Erscheint die Fehlermeldung zu sagen, dass Ihre app nicht in der Lage, Lesen Sie unser WSDL. Öffnen Sie ein browser vom gleichen Rechner, auf dem Ihre app ausgeführt wird, und sehen Sie, ob Sie Zugriff auf die WSDL-Adresse an https://sampleurl.com/MerchantQueryService.asmx?WSDL.
Wenn nicht - Sie haben ein Netzwerk/firewall/Anti-Viren-problem. (im Fall)
Wenn Sie Zugriff auf diese Adresse mit einem browser - ist Ihre app immer noch das problem Auftritt? dann überprüfen Sie jede app, könnte behindern Ihre firewall.(Anti-virus sind die wahrscheinlichste Ursache)
InformationsquelleAutor Tunde Pizzle
überspringen, wenn Sie den cache, und Holen Sie diese in Ihrem libxml-Fehler:
LibXMLError Objekt
(
[level] => 1
[code] => 1549
[Spalte] => 0
[message] => failed to load external entity "URL"
[Datei] =>
[line] => 0
)
Ohne Beschreibung auf Ubuntu, dann ist nicht das ziehen der Datei Periode. Du hast gerade ein hit mit den Ubuntu Updates. Winken Sie der bronx begrüssen und neu starten.
InformationsquelleAutor ppostma1