2 Stimmen

Lösen Sie die SoapFault-Ausnahme: [HTTP] URL kann nicht geparst werden

Ich arbeite an einem Projekt, das einen Soap-basierten Webservice verwendet, der von PHP abgefragt wird, sowie 2 native Smartphone-Apps (iOS und Android). Nach einigen Änderungen, die vom Webservice-Entwicklungsteam vorgenommen wurden, wurden auf der PHP-Seite Probleme festgestellt, aber es gab keine Probleme bei den Smartphone-Apps.

Hier ist ein einfaches Skript, um das Problem zu reproduzieren

 1,
                                   'exception' => 1,
                                   'encoding'      => 'UTF-8',
                                   'cache_wsdl' => WSDL_CACHE_NONE));

$params = array('sKey' => $sKey, 'nLangID' => 1);

$res      = $client->TPGetLocalisationVersion($params);

echo 'Res : ';
print_r($res);
echo '';

?>

Ich erhalte den folgenden Fehler:

Schwerwiegender Fehler: Ungefangene SoapFault-Ausnahme: 
[HTTP] URL kann nicht geparst werden in /home/xxxx/www/test.php:14 Stack trace: #0 [internal function]: 
SoapClient->__doRequest('__call('TPGetLocalisati...', Array) #2 /home/tmpweb/www/test.php(14): 
SoapClient->TPGetLocalisationVersion(Array) #3 {main} in /home/xxxx/www/test.php on line 14 

Die Methode TPGetLocalisationVersion existiert und die Parameter sind korrekt. Dieser Code hat vor einigen Tagen noch funktioniert.

Ich kann auch das WSDL vom PHP-Webserver mit wget abrufen.

Ich habe die WSDL-Datei mit einem Online-Tool getestet und es scheint in Ordnung zu sein.

Irgendwelche Vorschläge, um dies zu debuggen? Ich bin mir sicher, dass der WSDL nicht zwischengespeichert wird, da ich auf einem dedizierten Server bin und den WSDL-Cache in der php.ini komplett deaktiviert habe.

5voto

Nico AD Punkte 1647

Problem gelöst, das Problem lag am soap:address im WSDL (falscher Wert)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X