Impossible de créer le message: type de contenu incorrect pour la version SOAP. Got text / xml; charset = UTF-8, mais application attendue / soap + xml

J’essaie d’utiliser l’API de services marchands fournie par Ebay pour télécharger des fichiers sur eBay.

Ils ont fourni un fichier sample.jar du même. Il semble fonctionner correctement lorsque nous exécutons le fichier .jar à l’invite de commande, mais lorsque j’essaie d’intégrer sa source dans mon application Web, cela me donne cette erreur. Aussi, j’ai essayé de créer un client de service Web en utilisant Netbeans et essayé de l’utiliser, mais cela m’a quand même donné la même erreur. J’ai également changé la version SOAP de la version 1.1 à la version 1.2, mais cela ne semble pas non plus fonctionner. Ce qui suit est la trace complète de la stack.

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.(MessageImpl.java:278) at com.sun.xml.internal.messaging.saaj.soap.ver1_2.Message1_2Impl.(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 

SAAJ0533: Impossible de créer le message: type de contenu incorrect pour la version SOAP. Got text / xml; charset = UTF-8, mais application attendue / soap + xml

Basé sur le message d’exception, je dis que vous avez quelque chose de mélangé.

Pour tous les messages SOAP envoyés, l’en Content-type tête Content-type doit être:

  • text/xml pour SOAP v1.1
  • application/soap+xml pour SOAP v1.2.

Commencez par vérifier cela, puis ma suggestion serait de voir ce qui se passe sur le réseau (avec Fiddler par exemple), puis de comparer les différences entre votre application Web et le sample.jar qui fonctionne.

Je dois le faire fonctionner, semble que mon JDK était corrompu avec tous les fichiers JAR externes que j’ai ajoutés pour le faire fonctionner. Mis à niveau vers Java 7 et il semble fonctionner correctement maintenant.