Server mit Web-Service-Unterstützung schreiben

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Web-Services verwenden - Index


Neben den aufrufbaren Schnittstellen und den Klassen, die diese implementieren, benötigt Ihr Server zwei Komponenten: einen Dispatcher und einen Invoker. Der Dispatcher (WebbrokerSOAP.THTTPSoapDispatcher) empfängt eingehende SOAP-Botschaften und leitet diese an den Aufrufer weiter. Der Invoker (SOAPHTTPPasInv.THTTPSOAPPascalInvoker) interpretiert die SOAP-Botschaft, identifiziert die aufrufbaren Schnittstellen, führt den Aufruf aus und assembliert die Antwortbotschaft.

Hinweis: THTTPSoapDispatcher und THTTPSoapPascalInvoker dienen zur Beantwortung von HTTP-Botschaften, die eine SOAP-Anforderung enthalten. Die zugrunde liegende Architektur ist jedoch hinreichend allgemein, um unter Ersetzung der Dispatcher- und Invoker-Komponenten auch andere Protokolle zu unterstützen.

Sobald Sie die aufrufbaren Schnittstellen und ihre Implementierungsklassen registrieren, verarbeiten der Dispatcher und der Invoker automatisch alle Botschaften, welche diese Schnittstellen im SOAP-Action-Header der HTTP-Anforderungsbotschaft identifizieren.

Web-Services enthalten des weiteren einen Publisher (Soap.WSDLPub.TWSDLHTMLPublish). Publisher reagieren auf eingehende Client-Anforderungen, indem sie WSDL-Dokumente erzeugen, in denen beschrieben wird, wie die Web-Services in der Anwendung aufgerufen werden.

Einen Web-Service-Server erstellen

RAD Studio stellt für die schnelle Entwicklung einer Web-Service-Serveranwendung einen Experten bereit.

Führen Sie folgende Schritte durch, um eine Server-Anwendung zu erstellen, die einen Web-Service implementiert:

  1. Wählen Sie Datei > Neu > Weitere, und doppelklicken Sie auf der Seite WebServices auf das Symbol SOAP-Server-Anwendung, um den SOAP-Server-Anwendungs-Experten zu starten. Der Experte erstellt eine neue Web-Server-Anwendung, welche die Komponenten umfasst, die zum Beantworten von SOAP-Anforderungen erforderlich sind.
  2. Beim Beenden des SOAP-Server-Anwendungs-Experten werden Sie gefragt, ob Sie eine Schnittstelle für den Web-Service definieren möchten.Klicken Sie auf Ja, wenn Sie den Web-Service von Grund auf neu erstellen. Der Experte zum Hinzufügen neuer Web-Services wird angezeigt. Dieser Experte generiert Code zum Deklarieren und Registrieren einer neuen aufrufbaren Schnittstelle für den Web-Service. Bearbeiten Sie diesen Code, um den Web-Service in der gewünschten Weise zu definieren und zu implementieren. Wenn Sie weitere Schnittstellen hinzufügen (oder die Schnittstellen zu einem späteren Zeitpunkt definieren möchten), wählen Sie Datei > Neu > Weitere, und doppelklicken Sie auf der Seite WebServices auf das Symbol für die SOAP-Web-Service-Schnittstelle. Einzelheiten zur Verwendung des Experten zum Hinzufügen neuer Web-Services sowie zum Vervollständigen des von ihm generierten Codes finden Sie unter Neue Web-Services hinzufügen.
  3. Um einen Web-Service zu implementieren, der bereits in einem WSDL-Dokument definiert wurde, können Sie das Dienstprogramm zum Importieren von WSDL verwenden, um die für die Anwendung erforderlichen Schnittstellen, Implementierungsklassen und den Registrierungscode zu generieren. Sie brauchen lediglich den Rumpf der vom Importprogramm für die Implementierungsklassen generierten Methoden auszufüllen. Einzelheiten dazu finden Sie unter Das Dienstprogramm zum Importieren von WSDL verwenden.
  4. Wenn Sie die Header in dem SOAP-Envelope auswerten möchten, der die zwischen der Anwendung und den Clients ausgetauschten Botschaften codiert, können Sie Klassen definieren, die jene Header repräsentieren, und Code erstellen, um die Header zu verarbeiten. Dies ist unter SOAP-Header definieren und verwenden beschrieben.
  5. Wenn die Anwendung bei dem Versuch, eine SOAP-Anforderung auszuführen, eine Exception auslöst, wird diese Exception automatisch in einem SOAP-Fehlerpaket codiert, das anstelle der Ergebnisse des Methodenaufrufs zurückgegeben wird. Wenn Sie mehr Informationen als eine einfache Fehlermeldung übermitteln möchten, können Sie eigene Exception-Klassen erstellen, die codiert und an den Client übergeben werden. Informationen dazu finden Sie unter Angepasste Exception-Klassen für Web-Services erstellen.
  6. Der SOAP-Server-Anwendungs-Experte fügt neuen Web-Service-Anwendungen eine Publisher-Komponente (TWSDLHTMLPublish) hinzu. Auf diese Weise ist die Anwendung in der Lage, WSDL-Dokumente zu publizieren, in denen Ihr Web-Service für Clients beschrieben wird. Nähere Erläuterungen zum WSDL-Publisher finden Sie unter WSDL-Dokumente für Web-Service-Anwendungen generieren.

Siehe auch