Impossible de créer le message: pas de type de contenu pour la version SOAP. Obtenu text/xml; charset=UTF-8, mais on s'attend application/soap+xml
Je suis en train d'utiliser le grand marchand les services de l'API fournie par Ebay pour télécharger des fichiers sur ebay.
Ils ont fourni avec un sample.jar fichier de la même chose. Il semble fonctionner correctement quand nous exécutons la .fichier jar sur l'invite de commande, mais lorsque j'essaie d'intégrer sa source dans mon application web sa me donne cette erreur. Aussi j'ai essayé de créer un client de service web à l'aide de netbeans et a essayé de l'utiliser, mais encore il m'a donné le même message d'erreur. J'ai aussi changé la version SOAP de 1.1 à 1.2, mais il ne semble pas fonctionner. Ce qui suit est la trace de la pile complète.
Nov 11, 2011 2:59:41 PM com.sun.xml.internal.messaging.saaj.soap.MessageImpl init
SEVERE: SAAJ0533: Cannot create message: incorrect content-type for SOAP version. Got text/xml; charset=UTF-8, but expected application/soap+xml
Nov 11, 2011 2:59:41 PM com.sun.xml.internal.messaging.saaj.soap.MessageImpl init
SEVERE: SAAJ0535: Unable to internalize message
Exception in thread "main" javax.xml.ws.WebServiceException: Couldn't create SOAP message due to exception: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Unable to internalize message
at com.sun.xml.internal.ws.util.SOAPConnectionUtil.getSOAPMessage(SOAPConnectionUtil.java:83)
at com.sun.xml.internal.ws.encoding.soap.client.SOAPXMLDecoder.toSOAPMessage(SOAPXMLDecoder.java:102)
at com.sun.xml.internal.ws.protocol.soap.client.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:440)
at com.sun.xml.internal.ws.protocol.soap.client.SOAPMessageDispatcher.doSend(SOAPMessageDispatcher.java:260)
at com.sun.xml.internal.ws.protocol.soap.client.SOAPMessageDispatcher.send(SOAPMessageDispatcher.java:139)
at com.sun.xml.internal.ws.encoding.soap.internal.DelegateBase.send(DelegateBase.java:86)
at com.sun.xml.internal.ws.client.EndpointIFInvocationHandler.implementSEIMethod(EndpointIFInvocationHandler.java:174)
at com.sun.xml.internal.ws.client.EndpointIFInvocationHandler.invoke(EndpointIFInvocationHandler.java:108)
at $Proxy28.createUploadJob(Unknown Source)
at com.SwiftConnectV1.fileprocess.LMS.BulkDataExchangeActions.createUploadJob(BulkDataExchangeActions.java:138)
at com.SwiftConnectV1.fileprocess.LMS.LMSClientJobs.createUploadJob(LMSClientJobs.java:154)
at com.SwiftConnectV1.fileprocess.LMS.LMSSample.main(LMSSample.java:74)
Caused by: Couldn't create SOAP message due to exception: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Unable to internalize message
at com.sun.xml.internal.ws.util.SOAPUtil.createMessage(SOAPUtil.java:154)
at com.sun.xml.internal.ws.util.SOAPConnectionUtil.getSOAPMessage(SOAPConnectionUtil.java:78)
... 11 more
Caused by: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Unable to internalize message
at com.sun.xml.internal.messaging.saaj.soap.MessageImpl.init(MessageImpl.java:475)
at com.sun.xml.internal.messaging.saaj.soap.MessageImpl.<init>(MessageImpl.java:278)
at com.sun.xml.internal.messaging.saaj.soap.ver1_2.Message1_2Impl.<init>(Message1_2Impl.java:61)
at com.sun.xml.internal.messaging.saaj.soap.ver1_2.SOAPMessageFactory1_2Impl.createMessage(SOAPMessageFactory1_2Impl.java:62)
at com.sun.xml.internal.ws.util.SOAPUtil.createMessage(SOAPUtil.java:152)
... 12 more
Caused by: com.sun.xml.internal.messaging.saaj.soap.SOAPVersionMismatchException: Cannot create message: incorrect content-type for SOAP version. Got: text/xml; charset=UTF-8 Expected: application/soap+xml
at com.sun.xml.internal.messaging.saaj.soap.MessageImpl.init(MessageImpl.java:356)
... 16 more
OriginalL'auteur Amit | 2011-11-11
Vous devez vous connecter pour publier un commentaire.
Basé sur le message de l'exception, je dis que vous avez quelque chose de mixte.
Pour tous les messages SOAP envoyé, le
Content-type
l'en-tête doit être:text/xml
pour le SAVON v1.1application/soap+xml
pour le SAVON v1.2.Vérifier ces premiers, puis ma suggestion serait d'essayer de voir ce qui se passe sur le câble (avec Fiddler par ex.) et puis comparer ce qui est différent dans votre application web, par opposition à la
sample.jar
qui fonctionne.+1 m'a Sauvé beaucoup de temps aujourd'hui.
assurez-vous de ne pas envoyer", action=""' dans la requête conent en-tête de type de SAVON v1.2
OriginalL'auteur
Réussi à le faire fonctionner, il semble que mon JDK était corrompu avec tous les fichiers jar que j'ai ajouté pour le faire fonctionner. Mis à jour de Java 7 et il semble fonctionner correctement maintenant.
OriginalL'auteur Amit