私は多くのWebサービスを管理しなければならず、クライアントとクライアントの中間に私のアプリケーションを入れなければなりません。クライアントが私に電話をかけ、サーバーを呼び出してクライアントに送信する。jaxbのオブジェクトの名前空間を変更する
リクエストとレスポンスの両方に 'エンベロープが定義されています:異なるがほぼ同じです。
としましょう:
<req xmlns="namespaceReq">
<req-data>..different info 1..</req-data>
<info>...Info object...</info>
</req>
と
<resp xmlns="namespaceResp">
<resp-data>..different info 2...<resp-data>
<info>...Info object...</info>
</resp>
だから私は、インフォオブジェクト - -aka要求と応答の間の共通クラスを共有したいです。私はリクエストのためのJavaパッケージをパッケージ名とReqとReq-dataクラスのネームスペースで行い、もう一つはレスポンスのために(パッケージ名のレスポンスのネームスペースを使って)、 RespとResp-dataクラス)、共通部分(Infoクラス)を保持するための別のパッケージを作成しましたが、問題があります...
共通のInfoオブジェクトを共有できるようにするにはどうすればよいですか要求と応答の両方に?
私はpackage-info.javaでリクエストの名前空間を置く場合は、要求のために動作しますが、私は応答を置けば、応答のために、それは要求のために動作するものではありません...
ありがとうございます。サービスを呼び出すときに問題が発生し、モデルに応答をバインドしようとしましたが、私のものではないためサービスを変更できません。問題は、その共通のパッケージを持っていないため、自分の応答を私のモデルにバインドすることにあります。 : 私はしたいと思っているとは考えていません....そうではありません... – inigoD
これはちょうどアイデアです(私は前にそれを試していない)が、 –
あなたのサービスオブジェクトを独自のオブジェクト名前空間に拡張する(継承する)ことができるかどうかを確認してください。 –