Den SOAP-Anwendungs-Experten verwenden

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Server mit Web-Service-Unterstützung schreiben


Web-Service-Anwendungen stellen eine besondere Form von Web-Server-Anwendungen dar. Aus diesem Grund baut die Unterstützung für Web-Services auf der Web-Broker-Architektur auf. Um den vom SOAP-Anwendungs-Experten generierten Code zu verstehen, empfiehlt es sich daher, die Web-Broker-Architektur näher zu betrachten. Informationen zu Web-Server-Anwendungen im Allgemeinen und Web-Broker im Besonderen finden Sie unter Internet-Server-Anwendungen und Web Broker.

Sie starten den SOAP-Anwendungs-Experten, indem Sie Datei > Neu > Weitere wählen und auf der Seite WebServices auf das Symbol Neue SOAP-Server-Anwendung doppelklicken. Wählen Sie die Art der Web-Server-Anwendung aus, die Sie für den Web-Service verwenden möchten. Informationen zu den unterschiedlichen Typen von Web-Server-Anwendungen finden Sie unter Typen von Web-Server-Anwendungen.

Der Experte generiert eine neue Web-Server-Anwendung mit einem Web-Modul, das die drei folgenden Komponenten enthält:

  • Eine Invoker-Komponente (SOAPHTTPPasInv.THTTPSOAPPascalInvoker). Der Invoker konvertiert SOAP-Botschaften in Methoden der registrierten aufrufbaren Schnittstellen in der Web-Service-Anwendung und umgekehrt.
  • Eine Dispatcher-Komponente (WebbrokerSOAP.THTTPSoapDispatcher). Der Dispatcher reagiert automatisch auf eingehende SOAP-Botschaften und leitet sie an den Invoker weiter. Mithilfe der Eigenschaft WebDispatch der Dispatcher-Komponente können Sie die von Ihrer Anwendung beantworteten HTTP-Anforderungsbotschaften identifizieren. In diesem Fall müssen Sie dafür sorgen, dass die Eigenschaft PathInfo die Pfadangaben der auf Ihre Anwendung verweisenden URLs enthält, und die Eigenschaft MethodType auf den Methoden-Header für Anforderungsbotschaften verweist.
  • Ein WSDL-Publisher (Soap.WSDLPub.TWSDLHTMLPublish). Der WSDL-Publisher publiziert ein WSDL-Dokument, in dem die Schnittstellen beschrieben werden und angegeben wird, wie sie aufzurufen sind. Dem WSDL-Dokument entnehmen die Clients, wie sie die Web-Service-Anwendung aufrufen können. Nähere Erläuterungen zum WSDL-Publisher finden Sie unter WSDL-Dokumente für Web-Service-Anwendungen generieren.

Sowohl der SOAP-Dispatcher als auch der WSDL-Publisher sind Auto-Dispatch- Komponenten. Das heißt, sie registrieren sich automatisch beim Web-Modul, sodass dieses alle eingehenden Anforderungen weiterleitet, die an den Pfad adressiert sind, der in den WebDispatch-Eigenschaften der Komponenten angegeben ist. Durch Rechtsklicken auf das Web-Modul können Sie sehen, dass es außer den Auto-Dispatch-Komponenten ein einziges Web-Aktionselement namens DefaultHandler enthält.

DefaultHandler ist das standardmäßige Aktionselement. Wenn das Web-Modul eine Anforderung empfängt, für die es keine Behandlungsroutine finden (d.h. die Pfadinformationen nicht zuordnen) kann, leitet es die Botschaft an das standardmäßige Aktionselement weiter. DefaultHandler generiert eine Web-Seite, in der der Web-Service beschrieben wird. Sie können die Standardaktion ändern, indem Sie die OnAction-Ereignisbehandlung dieses Aktionselements bearbeiten.

Siehe auch