2012-03-26 3 views
0

質問は非常に簡単ですので、コードサンプルを作成するのを避けるのに十分なことは幸いです。我々は手作りのWSDL/XSDファイルを使用して、wsdl2javaを介してJavaクライアントコードとサーバースタブを作成するAxis2(正確には1.5.1)を使用しています。サービスは文書スタイルのモードで生成され、はADB beans直列化スタックを使用します。axis2:コード生成されたリクエスト/レスポンスオブジェクトの継承を使用する

新しいwebserviceには、作成するすべてのメソッドに共通の属性がいくつかあります。各リクエストには、いくつかのaccessToken、otherPartyID、およびその他の同様のプロパティが設定されているとします。

私はスキーマで継承を使用することができました。したがって、リクエスト/レスポンスタイプは共通のcomplexTypeを拡張します。ウェブサービス用のスキーマ/ WSDLの作成中に自分自身を繰り返す必要はありません。しかし、実装をコード化しようとすると、コード生成されたすべてのリクエスト/レスポンス・オブジェクトがjava.lang.Objectを継承し、共通のプロパティを持つ共通のスーパークラスは存在しないことがわかりました。

こうした共通のプロパティを扱うコードは一般的なままであり、サルのコーディングを避けるためにリフレクションやその他の汚いトリックを使う必要がないように、そのようなクラスを持つことは非常にうれしいでしょう。

私の現在の疑惑は、AXISがメソッドのRequest/Response型での継承をサポートしていないことです。この件に関するあなたの経験を教えてください。

AXISのドキュメント/ソースへのリンクを使って明確で正確な答えがある場合、これは素晴らしいことです。事前に

おかげで、 アントン

答えて

1

これは、あなたの質問に直接答えではないですが、何をやっていることは間違っています。
継承はオブジェクト指向の用語であり、OO固有のメカニズムをキャプチャするWebサービスを配備しないでください。これはサービス指向アプローチのコンセプトに反しています。

あなたの疑惑が正しいと判明した場合、これはAxisではなくデザインでは問題ありません。
とにかく、Axis2のサポートでこれを直接質問することをお勧めします。

+0

ええ、良い点ですが、Webサービスの仕様は単に再利用を求めています。 :)サポートを求めて - 私は瞬間のカップルをした:https://issues.apache.org/jira/browse/AXIS2-5277 –

関連する問題