Um Anwendungen für mobile Webdienste in Java zu erstellen, müssen Sie folgende Initialisierungsaufgaben durchführen.
Fügen Sie den Standort der folgenden Dateien Ihrem Classpath hinzu. Standardmäßig befinden sie sich unter %SQLANY12%\Java:
Importieren Sie die Pakete ianywhere.qanywhere.client und ianywhere.qanywhere.ws:
import ianywhere.qanywhere.client.*; import ianywhere.qanywhere.ws.*; |
Erstellen Sie ein QAManager-Objekt.
QAManager mgr; mgr = QAManagerFactory.getInstance().createQAManager(null); |
Sie können auch ein QAManager-Objekt anpassen, indem Sie eine Eigenschaftsdatei mit der createQAManager-Methode angeben:
mgr = QAManagerFactory.getInstance().createQAManager("qa_mgr.props."); |
Um hohe Parallelität zu gewährleisten, sollten Multi-Thread-Anwendungen ein QAManager-Objekt für jeden Thread erstellen. Siehe Hinweise zu Multi-Threading.
Initialisieren Sie das QAManager-Objekt.
mgr.open(AcknowledgementMode.EXPLICIT_ACKNOWLEDGEMENT); |
Das Argument für die open-Methode ist ein Bestätigungsmodus, der festlegt, wie die Nachrichten bestätigt werden sollen. Das Argument muss IMPLICIT_ACKNOWLEDGEMENT oder EXPLICIT_ACKNOWLEDGEMENT sein.
QAnywhere-Nachrichten, die von mobilen Webdiensten verwendet werden, stehen der Anwendung für mobile Webdienste nicht direkt zur Verfügung. Wenn Sie einen QAManager im EXPLICIT_ACKNOWLEDGEMENT-Modus verwenden, benutzen Sie die Acknowledge-Methode von WSResult, um die QAnywhere-Nachricht zu bestätigen, die das Ergebnis einer Webdienstanforderung enthält. Diese Methode zeigt an, dass die Anwendung die Antwort erfolgreich verarbeitet hat.
Weitere Informationen zu Bestätigungsmodi finden Sie unter:
Anstatt eines QAManager-Objekts können Sie einen QATransactionalManager erstellen. Siehe Transaktionales Messaging für Java-Clients implementieren.
Erstellen Sie eine Instanz der Dienstbindungsklasse.
Der WSDL-Compiler für mobile Webdienste generiert die Dienstbindungsklasse aus dem WSDL-Dokument, das den Webdienst definiert.
Bei der Durchführung von Webdienstanforderungen wird der QAManager von der Instanz der Webdienst-Bindungsklasse verwendet, um Messagingvorgänge auszuführen. Sie legen die Konnektoradresse fest, die verwendet werden soll, um Webdienstanforderungen über QAnywhere zu verwenden, indem Sie die Eigenschaft WS_CONNECTOR_ADDRESS der Dienstbindungsklasse einstellen. Jeder QAnywhere-Webdienstkonnektor wird mit einer URL-Adresse eines Webdienstes konfiguriert, mit dem die Verbindung aufgenommen werden soll. Das bedeutet: Wenn eine Anwendung Webdienste benötigt, die an mehr als einer URL-Adresse zu finden sind, muss der Konnektor für jede Dienst-URL-Adresse konfiguriert werden.
Beispiel:
CurrencyConverterSoap service = new CurrencyConverterSoap( ); service.setQAManager(mgr); service.setProperty("WS_CONNECTOR_ADDRESS", "ianywhere.connector.currencyconvertor\\"); |
Beachten Sie, dass zwei Backslashes am Ende der Adresse (\\) gesetzt werden müssen.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |