1

MOXy の ObjectGraph 機能を使用して、クラス フィールドのサブセットを xml 文字列にマーシャリングしようとしました。私は次のことをしました:

  1. eclipselink.jarをクラスパスに入れる
  2. ファイルを作成しjaxb.properties、コンテンツを にして javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory、マーシャリングまたはアンマーシャリングするドメイン クラスと同じパッケージに入れました。

フィールドのサブセットを xml 文字列にマーシャリングするメソッドをドメイン クラスに作成しました。このメソッドをクラスmain()メソッドで呼び出したところ、正しい結果が得られました。

私のアプリケーションはearファイルにあり、ドメイン クラスはファイルにパッケージ化されていmodel.jarます。マーシャリング メソッドは、同じ jar ファイルにあるサービス クラスによって呼び出されます。WebLogic サーバーにデプロイし、このマーシャリング関数を使用する関数を実行した後、次の行で常に例外が発生しました。

marshaller.setProperty(MarshallerProperties.OBJECT_GRAPH, "dbstring"); 

基本的に、このOBJECT_GRAPHプロパティを設定できず、正しいマーシャリング結果を得ることができません。ただし、ドメイン クラスを で実行した場合は問題ありませんmodel.jarでした。

何か案は?ありがとう!

4

1 に答える 1

0

オブジェクト グラフ機能は EclipseLink 2.5.0 で導入されました ( http://blog.bdoughan.com/search/label/Object%20Graphsを参照)。EclipseLink MOXy は、WebLogic のデフォルトの JAXB プロバイダーです (12.1.1 以降、http://blog.bdoughan.com/2011/12/eclipselink-moxy-is-jaxb-provider-in.html を参照 )。 (2013 年 11 月 7 日) このバージョンの EclipseLink は、WebLogic のリリース バージョンには含まれていません。次の記事は、WebLogic で新しいバージョンの EclipseLink を使用するのに役立ちます。

于 2013-11-07T21:47:03.393 に答える