川田です。
axis-userのダイジェストをお送りします。

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【キーワード】
  JAXB、Castor
【日付】
  2005/01/14 - 2005/01/17
【スレッド】
  http://marc.theaimsgroup.com/?t=110087956500004&r=1&w=2
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  [1] - roger.stoffers
  ──────────────────────────────

  私は今、(手元にある)アプリケーションにおいて、(手元にある)
  XML スキーマを利用しています。また、そのアプリケーション内で
  マーシャル/アンマーシャルを容易に行うために JAXB も利用して
  います。このアプリケーション機能の一部を SOAP を通じて公開し
  たいと思います。document/literal スタイルのメッセージを構築
  するのに JAAS が利用されますが、私は Axis を利用したいと思い
  ます。なぜなら Axis は私の要求をより満たすからです。

  ですから、(手元にある)スキーマを WSDL ファイルに含めたいので
  すが、どのようにすれば Axis の document スタイルと JAXB を利
  用してオブジェクトのシリアライゼーション/デシリアライゼーシ
  ョンを行うことができるでしょうか。

┗┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

  ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    [1-1] - Paul Callahan
    ──────────────────────────────

    その2つ(あるいは Axis と、いかなる XML シリアライズ機構)を統
    合することのできる方法が2つあります。

    1つは IBM の記事の中で議論されています。その中では Castor を
    利用していますが、土台であるテーマは同じです。

    http://www-106.ibm.com/developerworks/webservices/library/ws-castor

    もう1つは "message" スタイルサービスを利用することです。以下
    は以前の投稿です。

    ---

    カスタムシリアライザを作る替わりに、document/literal スタイ
    ルのサービスを利用し、そして Axis が提供する4つのメソッドシ
    グネチャの内の1つを利用してください。受け取ったメッセージの
    種類を決めるのに、入力された XML を調べることができます。そ
    こで JAXB API が提供するユーティリティを利用して XML メッセ
    ージを JAXB オブジェクトに変換し、あなたのビジネスロジックを
    実行します。そして、JAXB を利用して出力オブジェクトを生成し
    、XML にシリアライズし、あなたのWebサービスメソッドからそれ
    を返します。ですから、あなたのWebサービス"コントローラ"クラ
    スは以下のようなメソッドを持つでしょう。

    public Document doService(Document body) throws AxisFault {

      // どのような"種類"のメッセージを受け取ったかを確かめるために document を検査

      // メッセージのデシリアライズ
      jc = JAXBContext.newInstance(<あなたの名前空間>);
      u = jc.createUnmarshaller();
      m = jc.createMarshaller();
      requestObj = u.unmarshal(body);

      // このオブジェクトに対し、あなたのドメインロジックを実行

      // レスポンスをシリアライズして返す
      returnDoc = XMLUtils.newDocument();
      m.marshal(responseObj, returnDoc);

       return returnDoc;

    }

    ---

    WSDL 内での XSD の再利用に関しては、あなたは正しい方向に向か
    っています。WSDL 内で import 文を利用して XSD 名前空間を参照
    することができます。私は以前に JAXB を利用して
    document/literal 用の WSDL を生成したことはありません。しか
    し、いくつかのインターフェースを定義して JAXB オブジェクトを
    利用すれば可能でしょう。そして、WSDL 内で生成されたスキーマ
    の替わりにあなたの XSD を利用するように、その出力を変更する
    必要があります。

    どなたか他に良い方法があれば正してください。

  ┗┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

    ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
      [1-1-1] - Senaka Suriyaarachchi
      ──────────────────────────────

      パフォーマンスについてアイデアを頂けないですか?Castor と
      JAXB のアプローチを比較して。

      私たちは多少精通しているという理由から JAXB で進めていくこと
      を決めましたが、Castor と比較したパフォーマンスについては知
      りませんので。

    ┗┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

      ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
        [1-1-1-1] - Paul Callahan
        ──────────────────────────────

        Castor と JAXB の比較に関する以下の記事をご覧になることをお
        勧めします。JAXB が優勢という結論に終わっているみたいですが
        、、、

        http://www-106.ibm.com/developerworks/xml/library/x-databdopt2/

        あなたがご覧になったほうがいいと思う他の選択肢として
        XMLBeans と XStream があります。

      ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

メールによる返信