NuSOAP: comment faire pour modifier le type de contenu de la demande?
Lors de la consommation d'un .NET WCF webservice je reçois la réponse suivante (erreur):
Non pris en charge statut de la réponse HTTP 415
Ne peut pas traiter le message, car le type de contenu "text/xml; charset=UTF-8'
n'était pas le type attendu 'application/soap+xml; charset=utf-8'.
Comment puis-je modifier le type de contenu? Je ne peux pas le trouver dans le NuSOAP forums/docs, ou j'ai peut-être oublié quelque chose....
OriginalL'auteur jao | 2009-06-03
Vous devez vous connecter pour publier un commentaire.
je sais que c'est un vieux post, mais j'ai couru vers cette page à la recherche d'une réponse.
application/soap+xml
est le type de contenu transmis lors de l'utilisation de SOAP 1.2,text/xml
est utilisé avec SOAP 1.1,quelque chose comme cela devrait faire l'affaire,
OriginalL'auteur mark moore
Vous pouvez spécifier l'encodage de NuSOAP les cours d'eau avec les webservices comme ça :
OriginalL'auteur Franck
Il semble qu'il y ait une légère omission dans le NuSOAP bibliothèque... il suppose que le contenu des en-têtes DOIVENT être "text/xml", donc, si votre client tente de se connecter à un service que les résultats de l'application/soap+xml en-têtes, vous vous retrouverez avec des erreurs du type:
Pour tester cela, vous pouvez bénéficier des avantages suivants peu de fonction du modèle que j'ai utilisé pour la connexion à un service SOAP. Rappelez-vous, imprimez-le client de l'objet! Vous pourriez ne pas obtenir un résultat à regarder!
Lorsque j'ai imprimé mon $résultat, je n'ai rien, mais quand j'ai imprimé le $client de l'objet, j'ai pu voir qu'il y avait des erreurs.
Le petit hack j'ai mis en place a été dans le nusoap.php fichier, autour de la ligne de 7500. Regardez pour cette si-déclaration:
Et de le modifier pour cela:
Tout cela n'est-il permet de NuSOAP traiter les réponses de la question d'une "application/soap+xml" de l'en-tête (qui est un xml valide en-tête).
OriginalL'auteur Everett
J'ai été bloqué sur cette.
Le secret est dans le web.config
Changement wsHttpBinding à basicHttpBinding
Comme suit:
Espère que ça aide!
/Erik
OriginalL'auteur
Cela a fonctionné pour moi:
$client = new nusoap_client($params);
$client->soap_defencoding = 'UTF-8';
La réponse qui est cochée comme correct n'est pas pour NUSOAP donc pas la réponse appropriée.
OriginalL'auteur Lau_gu