beheben SoapFault exception: [HTTP] Unable to parse URL
Ich arbeite an einem Projekt, die mit einem Soap-basierten webservice abgefragt PHP und 2 native smartphone-apps (ios und android) , nach einigen änderungen, die von der webservice-Entwicklung-team, Dinge, die kaputt waren, die auf PHP-Seite aber ohne Probleme von smartphone-apps.
hier ist ein einfaches Skript, um das problem zu reproduzieren
<?php
error_reporting(E_ALL);
$url = 'http://www.xxxxx.com/service.awws?wsdl';
$sKey = 'thekey';
$client= new SoapClient($url, array('trace' => 1,
'exception' => 1,
'encoding' => 'UTF-8',
'cache_wsdl' => WSDL_CACHE_NONE));
$params = array('sKey' => $sKey, 'nLangID' => 1);
$res = $client->TPGetLocalisationVersion($params);
echo '<pre>Res : ';
print_r($res);
echo '</pre>';
?>
Bekomme ich die folgende Fehlermeldung:
Fatal error: Uncaught SoapFault exception:
[HTTP] Unable to parse URL 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} thrown in /home/xxxx/www/test.php on line 14
die Methode TPGetLocalisationVersion vorhanden und die Parameter korrekt sind.
dieser code verwendet, um die Arbeit vor einigen Tagen.
Kann ich auch abrufen der wsdl aus PHP-Webserver mit wget.
Getestet habe ich die WSDL-Datei, mit einigen online-tool und es scheint ok.
Anregungen zu Debuggen? Ich bin sicher, dass die WSDL wird nicht zwischengespeichert, wie ich m auf einem dedizierten server und komplett deaktiviert den WSDL-cache in php.ini
- Sehen Sie die
<soap:address>
oder<wsdl:port>
in der wsdl?
Du musst angemeldet sein, um einen Kommentar abzugeben.
problem gelöst , das problem war in der soap:adress innerhalb der WSDL (schlechter Wert)