Non pris en charge Content-Type: text/html; charset=UTF-8 prise en charge sont les suivants: [text/xml]
Je suis d'essayer d'utiliser le service web pour récupérer des données à partir du serveur. J'ai suivi le tutoriel spécifié dans http://googcloudlabs.appspot.com/codelabexercise5.html, bien sûr, j'ai modifié le code d'origine pour satisfaire mes demandes.
Maintenant j'ai une erreur comme ceci: non pris en charge Content-Type: text/html; charset=UTF-8 prise en charge sont les suivants: [text/xml]
Pour voir le message d'erreur, j'écris une nouvelle fonction d'erreur lors de l'obtention des données:
var errorFn = function(e){
for(var p in e){
alert(e[p]);
}
}
var successFn = function(resp){
var data='';
if(resp){
//getting the data from the response object
data=resp.data;
}
//Some other code here...
}
getData("/entity",null,successFn,errorFn);
Et le navigateur d'alerte de l'erreur de l'objet:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Error 500 Unsupported Content-Type: text/html; charset=UTF-8 Supported ones are: [text/xml]</title>
</head>
<body><h2>HTTP ERROR 500</h2>
<p>Problem accessing /vehicle. Reason:
<pre> Unsupported Content-Type: text/html; charset=UTF-8 Supported ones are: [text/xml]</pre></p><h3>Caused by:</h3><pre>com.sun.xml.internal.ws.server.UnsupportedMediaException: Unsupported Content-Type: text/html; charset=UTF-8 Supported ones are: [text/xml]
at com.sun.xml.internal.ws.encoding.StreamSOAPCodec.decode(Unknown Source)
at com.sun.xml.internal.ws.encoding.StreamSOAPCodec.decode(Unknown Source)
at com.sun.xml.internal.ws.encoding.SOAPBindingCodec.decode(Unknown Source)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(Unknown Source)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(Unknown Source)
at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(Unknown Source)
at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Unknown Source)
at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Unknown Source)
at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Unknown Source)
at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Unknown Source)
at com.sun.xml.internal.ws.client.Stub.process(Unknown Source)
at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(Unknown Source)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(Unknown Source)
at $Proxy32.getAllVehicles(Unknown Source)
at com.google.appengine.codelab.soap.client.VehicleServlet.doGet(VehicleServlet.java:52)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:60)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:94)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:370)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
</pre>
<hr /><i><small>Powered by Jetty://</small></i><br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
</body>
</html>
Quelqu'un peut m'aider avec ce problème ??
Merci d'avance!
OriginalL'auteur sinhzun | 2012-08-29
Vous devez vous connecter pour publier un commentaire.
Ajoutez le code suivant dans la tête de la classe:
Puis redémarrez votre serveur.
OriginalL'auteur robinwen
Cette erreur a eu lieu pour moi et la raison en était que l'appel à la webservices a été faite à une défaillance de l'hôte, de sorte que le serveur web répond avec un message d'erreur http au lieu de xml dans le message soap.
OriginalL'auteur Nicolás Piquerez
J'mon cas, même l'erreur, mais pour des raisons différentes:
Le Port n'est pas spécifié dans le fichier wsdl, que le Serveur a rendu le Service Java "Générateur".
Par conséquent, le Serveur a répondu à l'appel SOAP, avec une page d'Accueil, ce qui n'est évidemment pas text/XML, mais text /html.
Ajoutant le Port pour le wsdl résolu le Problème.
OriginalL'auteur Christian
Simple: votre client (navigateur?) envoi des données comme
Content-Type: text/html
alors qu'il devrait êtreContent-Type: application/soap+xml
(pour vieux SAVON aussiContent-Type: text/xml
).Donc, si vous êtes faire des requêtes par la main, vous devriez ajouter le
Content-Type
de l'en-tête à vos requêtes HTTP.Où en sommes-nous besoin de spécifier le Type de Contenu d'en-tête? Requête HTTP n'est pas avec moi. Il suffit d'appeler une méthode exposée à partir de wsdl. Je suis sûr que je suis absent quelque chose. Merci de guide.
OriginalL'auteur Peter Knego
Cette erreur peut également se produire lors de la rédaction d'une requête SOAP et le contenu fourni est mal codé/formatage/inaccessible. Ce n'est probablement pas le cas de la vôtre, mais si quelqu'un d'autre rencontre identiques erreur avant envoi de la demande, cela signifie que les données utilisées pour composer le message lui-même ou c'est pièces jointes sont mal codés, formaté ou généralement inaccessibles.
OriginalL'auteur Mr. Napik
Essayer d'autres clients .
dans mon cas, le problème se produit dans jdeveloper 11.1.2.0 (Http analyseur en tant que client) et résolus par Jdeveloper 11.1.2.3 (Http analyseur en tant que client)
Ce problème vient de la demande de Contenu de Type
OriginalL'auteur Mahdi Esmaeili
J'avais aussi rencontré ce problème, et j'ai enfin découvert qui a été causé par le serveur.
Le serveur est construit sur Node.js et a été simultanément à l'aide de deux paquets
multer
etformidable
pour analyser 'multipart/form-data" type de données de formulaire. À l'origine du conflit: la forme actuelle de l'analyseurformidable
ne pouvez pas obtenir la forme brute des données en raison demulter
a déjà traité et a obtenu un contenu propre. Nous avons retirémulter
, le problème a été résolu.OriginalL'auteur Mr. Sun Lin