13

eBayが提供する大規模なマーチャントサービスAPIを使用して、ファイルをeBayにアップロードしようとしています。

彼らは同じのsample.jarファイルを提供しています。コマンドプロンプトで.jarファイルを実行すると正常に機能しているようですが、そのソースをWebアプリに統合しようとすると、このエラーが発生します。また、Netbeansを使用してWebサービスクライアントを作成して使用しようとしましたが、それでも同じエラーが発生しました。また、SOAPバージョンを1.1から1.2に変更しましたが、それも機能していないようです。以下は完全なスタックトレースです。

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
4

3 に答える 3

31

SAAJ0533:メッセージを作成できません:SOAPバージョンのコンテンツタイプが正しくありません。text/xmlを取得しました。charset = UTF-8、ただし予想されるapplication / soap + xml

例外メッセージに基づいて、私はあなたが何かを混乱させていると言います。

送信されるすべてのSOAPメッセージのContent-typeヘッダーは、次のようになります。

  • text/xmlSOAPv1.1の場合
  • application/soap+xmlSOAPv1.2の場合。

これらを最初に確認してから、(たとえばFiddlerを使用して)ネットワーク上で何が起こっているかを確認してから、Webアプリで機能するものとは異なるものを比較することをお勧めしますsample.jar

于 2011-11-13T17:21:22.200 に答える
1

SAAJ0533:メッセージを作成できません:SOAPバージョンのコンテンツタイプが正しくありません。text/xmlを取得しました。charset = UTF-8、ただし予想されるapplication / soap + xml

実際、このエラーが発生したのは、SaajSoapMessageFactoryが@Beanとしてではなく「手動で」作成されたため、Springライフサイクルによって処理されず、 afterPropertiesSetメソッドを呼び出さなかったためです。

したがって、次の例とアドバイスに従ってください。

この助けを願って、

于 2020-05-12T08:57:47.543 に答える
-8

動作するようになりました。動作させるために追加したすべての外部jarファイルでJDKが破損しているようです。Java 7にアップグレードしましたが、現在は正常に動作しているようです。

于 2011-11-14T15:31:24.880 に答える