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

SQL Anywhere 12.0.1 » QAnywhere » モバイル Web サービス » モバイル Web サービスアプリケーション

 

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

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

 ♦ Java 用の QAnywhere とモバイル Web サービスの初期化
  1. 次のファイルのロケーションをクラスパスに追加します。デフォルトでは、これらのファイルは %SQLANY12%\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\\");

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

 参照
 例