Frage

Duplikat von Diese Frage

Ich versuche, einen Webdienst mit Zend_soap_server im WSDL-Autodiscovery-Modus zu erstellen, aber ich erhalte jedoch sehr seltsame Effekte ... Hier der Code: Server: generasacodicetagpre.

SOAPACTIONS-Klasse: generasacodicetagpre.

}

Ich habe versucht, den Funktionstest1 und test2 mit der Zend_soap_Client-Klasse zu verwenden, hier den Code: generasacodicetagpre.

Ich kann nicht verstehen, da die Test2-Funktion wie erwartet funktioniert, die Test1-Funktion schließt die folgende Ausnahme zurück:

SOAPFAULT-Ausnahme: [SENDER] -Funktion ("test1") ist keine gültige Methode für Dieser Service in. /usr/local/zend/share/zendframework/Library/zend/soap/client.php:1121. Stapelspur: 0 /usr/local/zend/share/zendframework/Library/zend/soap/client.php(1121): SOAPCLIENT -> __ SOAPCALL ('test1', Array, Null, null, array) 1 /usr/local/zend/apache2/htdocs/webservice/client.php(6): Zend_soap_client -> __ Anruf ('test1', Array) 2 /usr/local/zend/apache2/htdocs/webservice/client.php(6): Zend_soap_client-> test1 ('foo', 'bar') 3 {main}

Ich habe versucht, den Funktionsnamen invertieren ... Das Ergebnis ist unglaublich, funktioniert nur test2! Ich werde verrückt, es scheint, dass irgendwo auf der Serverseite es den Funktionsnamen speichert ...

Kann mir jemand helfen?

War es hilfreich?

Lösung

SOLVED! The problem was this setting in the php.ini file:

soap.wsdl_cache_enabled=1

I set this to 0 and now it works fine!

Andere Tipps

If you don't want change your php.ini:

// WSDL_CACHE_NONE;     /* 0 Pas de cache */
// WSDL_CACHE_DISK;     /* 1 Sur le disque supprimer le fichier pour le réinitialiser */
// WSDL_CACHE_MEMORY;   /* 2 En mémoire => redémarrer Apache pour le réinitialiser */
// WSDL_CACHE_BOTH;     /* 3 En mémoire et sur le disque */

$options = array();
$options['cache_wsdl'] = WSDL_CACHE_NONE;
$client = new Zend_Soap_Client("http://localhost:8083/server.php?wsdl", $options);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top