Comment se débarrasser de "exception SoapFault Uncaught: [le client] semble que nous n'avons pas de document XML dans ..." erreur
Je suis en train de développer une logique d'entreprise pour un site dynamique à l'aide de nusoap sur le côté serveur (parce que j'ai besoin de fichiers wsdl, et PHP extension SOAP ne peut pas générer de fichiers wsdl), et PHP SAVON extenstion sur le côté client.
Cependant, je ne peux pas obtenir même login et getRole fonctions la droite. Lorsque j'essaie d'appeler le client, je reçois le message suivant
Uncaught SoapFault exception: [Client] looks like we got no XML document in [some paths]...
Wsdl n'existe pas sur le côté serveur, et le client n'a le lire (quand j'ai mis mal url wsdl, j'obtiens une erreur).
Peut aider quelqu'un??
source d'informationauteur Eedoh
Vous devez vous connecter pour publier un commentaire.
Il ressemble à votre client reçoit un fichier XML non valide - le WSDL lui-même ou de la réponse retournée par le serveur. Essayez d'appeler le client avec le
trace
option est définie à TRUE et vérifier le code XML d'envoi/de réception via le__getLastRequest()
et__getLastResponse()
méthodes.J'ai juste eu un problème similaire; s'avère que mon service était
echo
ing certaines données de débogage. J'ai enlevé tous lesecho
lignes et il a bien fonctionné.J'ai le même problème, et j'ai résolu le problème:
Le SOAP du serveur de fichier en php encoder en utf8 avec BOM, provoquant apache renvoyer la NOMENCLATURE marque (3 octets) avant la réponse xml.
Encoder votre fichier php d'un serveur soap avec l'utf8 AVEC BOM marque.
Ignacio Gutierrez Torrero
Les Chances sont que vous avez certains de fuite d'espaces à la fin de votre SOAPServer classe. Jetez un oeil à la suite de post de blog pour plus d'informations: http://arnekroeger.blogspot.com/2011/02/php-soap-error-looks-like-we-got-no-xml.html
Dans mon cas, cette erreur est apparue quand j'ai inclus un script avec des lignes vides après le "?>" étiquette.
Supprimer ces lignes résout le problème
N'oubliez pas d'utiliser le bloc try/catch:
Suffit d'utiliser trim() pour vous args.
Quelques fois un MOB peut générer des caractères supplémentaires qui crée ce type de problème.
Pour détecter si il y a quelque BOM UTF voir ce lien.
J'ai le même problème.mon problème est résolu par
always_populate_raw_post_data
à-1
sur php.ini.- Je trouver cela par l'ajout de "trace"=>1,"exceptions"=>1 sur les options et l'utilisation
try catch
et obtenir__getLastRequest()
et__getLastResponse()
J'ai une façon de résoudre ce problème. Ce n'est pas une jolie solution, mais ça marche...
Comment je ne peut faire aucun changement dans ma mante serveur, j'ai décidé de faire...
Je dois d'abord le silence de type soapfault:
Deuxième, j'ai noté qu'il y avait de cela trois fuite de contrôle de char au début de ma chaîne, j'ai donc supprimé:
Troisième, je n'ai qu'à mettre "pe>" à la fin de ma chaîne, à cause qu'elle était incomplète.
Ci-dessous peut être le problème pour certains utilisateurs. parce que j'ai été à travers elle.
Pour les dernières nuSoap version, ci-dessous permettra de résoudre votre problème :
TROUVER le code ci-dessous dans nusoap.php
en ligne 6132 ou quelque chose autour de ce pas.
ET DE LE COMMENTER
Depuis juste pour fins de débogage. afin de ne pas vous soucier des problèmes de fonctionnalité.