問題タブ [moxy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jpa - NPE が JAX-RS でマーシャリング エンティティをスロー
JPA エンティティ クラスを利用する JAX-RS Web サービスがあります。次のようなリソース クラスがあります。
サービスを実行してエンティティに対して get 呼び出しを行うと、次のエラーが発生します。
スタック トレースのどこにも、私のクラスが参照されていません。また、"Exiting getMyEntity"
ステートメントは例外の前にログに記録されます。
何が NPE をスローしているのか、またはこれをデバッグする方法がわかりません。
このエラーが発生する前に[com.sun.istack.SAXException2: A cycle is detected in the object graph. This will cause infinitely deep XML:
、JPA (EclipseLink) エンティティ クラスから を取得していましたが、MOXy @XmlInverseReference アノテーションを親 getter メソッドの子クラスに追加しました。
この例外をスローしている可能性があるものについて何か考えはありますか?
java - @XmlPath アノテーションを検証するツールはありますか?
Eclipse または IntelliJIdea Java フレームワークなどからのコンパイル時に、特定の xml ファイルで MOXy JAXB から使用される @XmlPath 注釈を検証するツールはありますか?
xml - XML ファイルを Java オブジェクトにシリアライズしたい
私はJavaオブジェクトでアンマーチャしたいこのxmlファイルを持っています。私はMOXy JAXBライブラリを使用しています。
test.xml
ここに私のJavaクラスがあります: Project.java
コンパイル単位
クラスパス:
テスト用の Demo クラス:
出力として得られるものは次のとおりです。
xmlファイル全体が印刷されず、その一部のみが印刷される理由を理解するのに役立つ人はいますか?
java - Java 1.5でのEclipseLink MOXyの使用
Java 5 で動作する EclipseLink MOXy (私は eclipselink 2.1.0 を使用しています) を持っている人はいますか? 非整列化を試みるたびに、org.eclipse.persistence.oxm.record.UnmarshalRecord の startCDATA() メソッド (xPathNode が null) で null ポインター例外が発生します。Java6 では、まったく同じコードと XML が見事に機能します。
java - JAXBとMOXyを使用してJavaプロパティをいくつかのxml属性にマッピングする
単純なクラスCustomQuoteRequestがあります。
xml内の2つの異なる属性にcurrencyPairCodeをマップしたいと思います。これは私が使用しているMOXyマッピングファイルです:
ただし、2番目のxml要素は前のxml要素をオーバーライドしているようです。何か案は?どうもありがとう
xml - JAXB/MOXy は、要素の値と要素の属性を同じ POJO フィールドにマップできますか?
JAXB を使用して着信 SOAP ドキュメントをドメイン クラスにアンマーシャリングする Web サービスの作業を始めたところです。デンマークの政府機関で使用されている OIO XML 形式によって規定されている技術的な問題に直面しました。この形式では、xml 要素の宣言に nillable な xml スキーマ属性を使用することは許可されていないことが特に明記されています。したがって、私は自分の課題に対する別の解決策を見つけなければなりません。
説明 アプリケーションを更新するために Web サービス クライアントから送信される可能性のある数字と日付がいくつかあります。これらの数値と日付は、同等のタイプの POJO フィールドにマップされます。課題は、正しい XML を構築して送信することにより、そのような POJO フィールドの値をリセットする方法です。
12:31:34T01-01-2010..... を送信すると、POJO フィールドが指定された値に更新されます。
ただし、日時要素では許可されていないため、送信してフィールドをリセットすることはできません。
また、OIO XML 規格で許可されていないため送信できません。
したがって、OIO XML 標準で禁止されるべきではないため、厳しい回避策として送信する予定です。
これにより、startTime 要素に delete="true" 属性が含まれている場合、対応する POJO フィールドを null に設定する必要があるという課題が生じます。a に削除属性がない場合は、有効な要素の値を POJO フィールドに転送します。
@XMLElement アノテーションでは、startTime 値のみをマップできます。たとえば、
削除属性が MyClass.startTime フィールドの値にも影響を与えるように強制するにはどうすればよいですか?
よろしく、ジェスパー
properties - jaxb.properties ファイルをどこに含めるか?
XML との間でマーシャリング/非マーシャリングされるいくつかのデータ オブジェクトを利用する REST (Jersey) Web サービスがあります。データ オブジェクトは、Web サービス戦争が依存する別のプロジェクト/jar にあります。
Glassfishにデプロイしているので、JAXB実装としてMOXyを使用していますが、それはすでに含まれています。次のエントリで JAXB 実装を MOXy に設定するには、jaxb.properties ファイルが必要です。
問題は、jaxb.properties ファイルをデータ オブジェクト jar に含めるか、Web サービス war に含めるか、またはその両方にするかです。
web-services - 無限ループのない JAX WS サービス上の JPa エンティティ
JPA で生成されたエンティティーを JAX WS Web サービス経由で送信するには、これらのエンティティーでの参照のサイクルが原因で、XML 無限サイクル例外が発生しないようにするにはどうすればよいですか?
何か案が?私はそれを行うことができるこのMOXyを見つけました...部分的に。しかし、私はすでにエンティティを生成しており、XmlTransient などの注釈をそれぞれに手動で追加するのはクレイジーです。
それを行う方法が他にありませんか?
ありがとう!
java - MOXyを使用してデフォルトのminOccursでスキーマを生成する
次の例に従って、EclipseLink MOXy2.1.2とJava1.6を使用してドメインクラスに基づいてスキーマを生成しようとしています:http ://wiki.eclipse.org/EclipseLink/Examples/MOXy/JAXB/GenerateSchema
ただし、デフォルトのminOccurs値には問題があります。アノテーション@XmlElementで必要な属性が指定されていない場合、デフォルトでfalseに設定されます。つまり、スキーマを生成するときにminOccursは0になります。これは、SunのJAXB実装で期待どおりに機能します。ただし、Moxyを使用する場合、minOccursは生成されず、デフォルト値の1が暗黙指定されます。
例えば、
生成する必要があります
代わりに、Moxyを使用すると、
これは、minOccurs="1"がデフォルトであるためです。これはバグですか?これに対する回避策はありますか?
前もって感謝します!
jaxb - JAXB プロバイダー Eclipselink MOXy は @XmlAccessorType(XmlAccessType.NONE) を無視します
これは@XmlAccessorType(XmlAccessType.NONE)
、JAXB が注釈付きの要素のみを気にする必要があることを意味しますpackage-info.java
。my.package
ただし、単純な POJO MOXy の un/marshalling コードを使用して JUnit テストを実行すると、すべてのクラスについて (jaxb.properties のないパッケージから、または依存関係で参照される他の Maven モジュールからでも) 次のように叫ぶだけです。
Metro でこのような問題に遭遇したことはありません (参照実装ですが、私の使用法には他の欠陥があります)。残念ながら、この方法ですべてのクラスを変更することはできません。