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が、それも機能しませんでした。