Java でモバイル Web サービスアプリケーションを作成するには、次の初期化処理を実行する必要があります。
次のファイルのロケーションをクラスパスに追加します。デフォルトでは、これらのファイルは %SQLANY12%\Java に配置されています。
ianywhere.qanywhere.client と ianywhere.qanywhere.ws パッケージをインポートします。
import ianywhere.qanywhere.client.*; import ianywhere.qanywhere.ws.*; |
QAManager オブジェクトを作成します。
QAManager mgr; mgr = QAManagerFactory.getInstance().createQAManager(null); |
createQAManager メソッドにプロパティファイルを指定して、QAManager オブジェクトをカスタマイズすることもできます。
mgr = QAManagerFactory.getInstance().createQAManager("qa_mgr.props."); |
同時実行性の利点を最大限に生かすために、マルチスレッドアプリケーションでは、スレッドごとに QAManager を作成する必要があります。 マルチスレッドでの考慮事項を参照してください。
QAManager オブジェクトを初期化します。
mgr.open(AcknowledgementMode.EXPLICIT_ACKNOWLEDGEMENT); |
open メソッドの引数には、メッセージの受信確認方法を示す受信確認モードを指定します。これは、IMPLICIT_ACKNOWLEDGEMENT または EXPLICIT_ACKNOWLEDGEMENT のどちらかにする必要があります。
モバイル Web サービスによって使用される QAnywhere メッセージは、モバイル Web サービスアプリケーションにアクセスできません。EXPLICIT_ACKNOWLEDGEMENT モードで QAManager を使用する場合は、WSResult の Acknowledge メソッドを使用して、Web サービス要求の結果を含む QAnywhere メッセージの受信確認を行います。このメソッドは、アプリケーションが応答を正常に処理したことを示します。
受信確認モードの詳細については、次の項を参照してください。
QAManager を作成する代わりに、QATransactionalManager を作成できます。 トランザクション指向メッセージングの実装 (Java クライアントの場合)を参照してください。
サービスバインディングクラスのインスタンスを作成します。
モバイル 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\\"); |
アドレス末尾の \\ は、必ず含めてください。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |