0

説明のつかない問題が発生しました。本番環境では、RedHat Web サーバー OS が更新/パッチ適用され、再起動すると、Spring jms アプリケーションが突然動作を停止しました。コードは変更されていません。

エラーメッセージは次のとおりです。

javax.xml.bind.MarshalException
 - with linked exception:
[com.sun.istack.SAXException2: unable to marshal type "java.lang.String" as an element because it is missing an @XmlRootElement annotation]
        at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:318)
        at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:244)
        at ca.mycompany.middleware.data.serializer.JAXBSerializer.serialize(JAXBSerializer.java:30)

...

 Caused by: com.sun.istack.SAXException2: unable to marshal type "java.lang.String" as an element because it is missing an @XmlRootElement annotation
        at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:248)
        at com.sun.xml.bind.v2.runtime.LeafBeanInfoImpl.serializeRoot(LeafBeanInfoImpl.java:137)
        at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:494)
        at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:315)
        ... 15 more

何が問題なのかわからない?

アップデート:

問題が見つかりました。コードのステップ実行を開始したとき、問題の本当の原因は、アプリケーションがこの例外によってブロックされていることであることがわかりました。

javax.net.ssl.SSLException: 認識できない SSL メッセージ、プレーンテキスト接続?

回避策がありますが、Web サービスを呼び出すために使用した方法をブロックするために何が変更されたのかを把握しようとしています。

4

1 に答える 1

0

それで、あなたのJavaバージョンはアップグレードされましたか?コードのこの領域のようです:

at ca.mycompany.middleware.data.serializer.JAXBSerializer.serialize(JAXBSerializer.java:30)

文字列を JAXB シリアライズしようとしています。これは許可されていません。それが古いバージョンのバグだったとしても、私は驚かないでしょう。

于 2013-08-24T20:27:44.047 に答える