JAXBを使用してJavaオブジェクトをマーシャリングしているときに問題が発生しました。Webサービスを独立したアプリケーションとして実行すると、正常に機能します。
プロジェクトと統合し、生成されたJavaクラスを使用すると、マーシャリング中に例外が発生します
RequestImpl
クラスもそのスーパークラスも、このコンテキストのいずれにも認識されていません。
JAXBインスタンスを生成するときに、次のステートメントを使用します。
JAXBContext jaxb = JAXBContext.newInstance("com.eos.hotels.API.Request");
私は2つの別々のxsdsを持っています。1つは用Request
、もう1つは用Response
です。
生成されたJavaクラスは、次のようにフォルダ構造に格納されます。
API->リクエスト API->応答
上記の両方のフォルダに、ObjectFactory.java
が作成され、jaxb.properties
そこにもあります。
また、上記の各フォルダ内impl
にすべてのImpl
ファイルを含むフォルダが作成され、このimpl
フォルダ内にruntime
フォルダが作成されます。
XSDからのすべてはxs:element
インターフェースとして作成され、Impls
クラスのみです。また、生成されたJavaファイルにはXML注釈はありません。
ここで何が悪いのか誰か教えてもらえますか?
この問題は、フォルダー構造が原因ですか、それともXML注釈が存在しないために発生していますか?
注釈がなくても問題ないことをインターネットで読んだ。
生成されたimplクラスをと同じフォルダーにコピーしようとしましたObjectFactory.java
が、それも機能しませんでした。