Uncaught SoapFault-Ausnahme: [Client] Die Funktion ist keine gültige Methode für diesen Service

7
___ answer9495757 ___

Wenn Sie eine Funktion ausführen möchten, die SOAP nicht finden kann - ist es möglich, dass PHP die wsdl-Datei zwischengespeichert hat.

Fügen Sie Folgendes hinzu:

%Vor%

um das Zwischenspeichern zu deaktivieren.

    
___ answer11139083 ___

Zwei mögliche Lösungen:

  1. versuchen zu sehen, ob die Funktion tatsächlich mit dem Code-Schnipsel dort existiert: PHP SoapClient Anfrage: keine gültige Methode für diesen Service
  2. Wenn Sie die Liste der verfügbaren Funktionsaufrufe angezeigt haben, müssen Sie außerdem darauf achten, dass, wenn Ihre WSDL von einem Java SOAP-Server generiert wird, Sie möglicherweise mehrere Funktionen namens "service" (oder mit demselben Namen) haben. Nur der erste wird vom PHP SOAP Client erkannt und verwendet. Sie müssen alle Ihre in der WSDL manuell umbenennen!
___ qstnhdr ___ Uncaught SoapFault-Ausnahme: [Client] Die Funktion ist keine gültige Methode für diesen Service ___ answer26648745 ___

Fügen Sie einfach Parameter, Rückgabetyp und Methode des Web-Service in Kommentaren am Anfang der Funktion hinzu. Es wird klappen. Ich habe es versucht.

%Vor%     
___ answer30427969 ___

Ich hatte dieses Problem und entschied mich schließlich, mein PHP-Fehlerprotokoll zu überprüfen.

Aktivieren Sie in php.ini %code% und starten Sie den Server neu.

Meine PHP Version ist 5.6.8

    
___ answer40270403 ___

In unserer Situation trat diese Ausnahme beim Upgrade von PHP5.6 auf PHP7 auf. Für uns hat das Deaktivieren des WSDL-Cache auch funktioniert.

%Vor%

Siehe auch: Ссылка

    
___ tag123php ___ PHP ist eine weit verbreitete, dynamische, objektorientierte und interpretierte Skriptsprache, die primär für die serverseitige Webentwicklung entwickelt wurde. ___ tag123soap ___ Das SOAP (Simple Object Access Protocol) ist eine Protokollspezifikation für den Austausch strukturierter Informationen in der Implementierung von Web Services. ___ tag123wsdl ___ Die Webdienstbeschreibungssprache (WSDL) ist eine XML-basierte, von Menschen und Maschinen lesbare Sprache zur Beschreibung eines Webdienstes. Es beschreibt die verfügbaren Web-Service-Methoden, die Message-Request- und Response-Strukturen, die möglichen Fehler sowie die Kommunikations- und Sicherheitsanforderungen. Dieses Tag bezieht sich nicht auf ein Tool namens "WSDL" wie WSDL.EXE von Microsoft. ___
ravikiran reddy 02.12.2011, 10:16
quelle

5 Antworten

25

Wenn Sie eine Funktion ausführen möchten, die SOAP nicht finden kann - ist es möglich, dass PHP die wsdl-Datei zwischengespeichert hat.

Fügen Sie Folgendes hinzu:

%Vor%

um das Zwischenspeichern zu deaktivieren.

    
biphobe 29.02.2012 08:30
quelle
2

Zwei mögliche Lösungen:

  1. versuchen zu sehen, ob die Funktion tatsächlich mit dem Code-Schnipsel dort existiert: PHP SoapClient Anfrage: keine gültige Methode für diesen Service
  2. Wenn Sie die Liste der verfügbaren Funktionsaufrufe angezeigt haben, müssen Sie außerdem darauf achten, dass, wenn Ihre WSDL von einem Java SOAP-Server generiert wird, Sie möglicherweise mehrere Funktionen namens "service" (oder mit demselben Namen) haben. Nur der erste wird vom PHP SOAP Client erkannt und verwendet. Sie müssen alle Ihre in der WSDL manuell umbenennen!
spiritoo 21.06.2012 13:19
quelle
0

Fügen Sie einfach Parameter, Rückgabetyp und Methode des Web-Service in Kommentaren am Anfang der Funktion hinzu. Es wird klappen. Ich habe es versucht.

%Vor%     
Suhas holla 30.10.2014 09:00
quelle
0

Ich hatte dieses Problem und entschied mich schließlich, mein PHP-Fehlerprotokoll zu überprüfen.

Aktivieren Sie in php.ini always_populate_raw_post_data = -1 und starten Sie den Server neu.

Meine PHP Version ist 5.6.8

    
Leandro Oliveira 24.05.2015 20:24
quelle
0

In unserer Situation trat diese Ausnahme beim Upgrade von PHP5.6 auf PHP7 auf. Für uns hat das Deaktivieren des WSDL-Cache auch funktioniert.

%Vor%

Siehe auch: Ссылка

    
Rvanlaak 26.10.2016 19:12
quelle

Tags und Links