Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » QAnywhere » モバイル Web サービス » モバイル Web サービス・アプリケーションの記述

 

Java モバイル Web サービス・アプリケーションの設定

Java でモバイル Web サービス・アプリケーションを作成するには、次の初期化処理を実行する必要があります。

♦  Java 用に QAnywhere とモバイル Web サービスを初期化するには、次の手順を実行します。
  1. 次のファイルのロケーションをクラスパスに追加します。デフォルトでは、これらのファイルは install-dir\Java にあります。

    • qaclient.jar
    • iawsrt.jar
    • jaxrpc.jar
  2. ianywhere.qanywhere.client と ianywhere.qanywhere.ws パッケージをインポートします。

    import ianywhere.qanywhere.client.*;
    import ianywhere.qanywhere.ws.*;
  3. QAManager オブジェクトを作成します。

    QAManager mgr;
    mgr = QAManagerFactory.getInstance().createQAManager(null);

    createQAManager メソッドにプロパティ・ファイルを指定して、QAManager オブジェクトをカスタマイズすることもできます。

    mgr = QAManagerFactory.getInstance().createQAManager("qa_mgr.props.");
    ヒント

    同時実行性の利点を最大限に生かすために、マルチスレッド・アプリケーションでは、スレッドごとに QAManager を作成する必要があります。マルチスレッドでの考慮事項を参照してください。

  4. QAManager オブジェクトを初期化します。

    mgr.open(AcknowledgementMode.EXPLICIT_ACKNOWLEDGEMENT);

    open メソッドの引数には、メッセージの受信確認方法を示す受信確認モードを指定します。これは、IMPLICIT_ACKNOWLEDGEMENT または EXPLICIT_ACKNOWLEDGEMENT のどちらかにする必要があります。

    モバイル Web サービスによって使用される QAnywhere メッセージは、モバイル Web サービス・アプリケーションにアクセスできません。EXPLICIT_ACKNOWLEDGEMENT モードで QAManager を使用する場合は、WSResult の Acknowledge メソッドを使用して、Web サービス要求の結果を含む QAnywhere メッセージの受信確認を行います。このメソッドは、アプリケーションが応答を正常に処理したことを示します。

    受信確認モードの詳細については、次の項を参照してください。

    注意

    QAManager を作成する代わりに、QATransactionalManager を作成できます。トランザクション志向メッセージングの実装 (Java クライアントの場合)を参照してください。

  5. サービス・バインディング・クラスのインスタンスを作成します。

    モバイル Web サービスの WSDL コンパイラは、Web サービスを定義する WSDL ドキュメントからサービス・バインディング・クラスを生成します。

    Web サービス要求を作成する処理において、QAManager は、Web サービス・バインディング・クラスのインスタンスによって、メッセージ操作を行うために使用されます。QAnywhere を介して Web サービス要求を送信するためのコネクタ・アドレスを設定します。これは、サービス・バインディング・クラスの WS_CONNECTOR_ADDRESS を設定することによって行うことができます。接続先 Web サービスの URL を使用して、各 QAnywhere Web サービス・コネクタを設定します。複数の URL に配置される Web サービスを必要とするアプリケーションの場合は、QAnywhere コネクタはサービスの URL ごとに設定する必要があります。

    次に例を示します。

    CurrencyConverterSoap service = new CurrencyConverterSoap( );
    service.setQAManager(mgr);
    service.setProperty("WS_CONNECTOR_ADDRESS", "ianywhere.connector.currencyconvertor\\");

    アドレス末尾の \\ は、必ず含めてください。

参照

モバイル Web サービスを初期化するには、QAManager を作成し、サービス・バインディング・クラスのインスタンスを作成する必要があります。次に例を示します。

// QAnywhere initialization
  Properties props = new Properties();
  props.put( "CONNECT_PARAMS", "eng=qanywhere;dbf=qanywhere.db;uid=ml_qa_user;pwd=qanywhere" );
  QAManager mgr = QAManagerFactory.getInstance().createQAManager( props );
  mgr.open( AcknowledgementMode.IMPLICIT_ACKNOWLEDGEMENT );
  mgr.start();
     
  // Instantiate the web service proxy
  CurrencyConvertorSoap service = new CurrencyConvertorSoap();
  service.setQAManager( mgr );
  service.setProperty( "WS_CONNECTOR_ADDRESS", "ianywhere.connector.currencyconvertor\\" );