Web-Service anbieten

Überblick

Ein Web-Service-Provider wird in der INUBIT-Software durch einen Technical Workflow mit einem Web-Service Input Listener Connector realisiert. Der Web-Service Input Listener Connector bietet die Funktionalität des Technical Workflows nach außen als Web-Service an.

Das folgende Beispiel zeigt die wesentlichen Module für einen Web-Service-Provider:

module guide 1220 0
  1. Web-Service Listener Connector ProvideWebService

    Der Web-Service Input Listener Connector bietet u.a. die Operation sayHello an und wartet auf Aufrufe, die SOAP-Requests, von anderen Web-Service.

    Wenn ein SOAP-Request eintrifft, wird dieser an das folgende Modul, den Demultiplexer, weitergeleitet und damit der Workflow gestartet.

  2. Demultiplexer Demux (optional)

    Ein SOAP-Request kann genau eine Operation des Web-Service aufrufen, auch wenn der Web-Service mehrere Operationen anbietet. Um anhand der XML-Elemente im Request zu erkennen, welche Operation ausgeführt wird, kann ein Demultiplexer genutzt werden.

    Der Demultiplexer leitet den Request in den passenden Zweig des Workflows weiter, in denen der Request verarbeitet wird. In dem abgebildeten Beispiel sind die beiden Empty-Module DoSomething und DoSomethingElse Platzhalter für weitere verarbeitende Module.

  3. XSLT Converter CreateResponse

    Das Ergebnis der Verarbeitung, die SOAP-Response, wird vom letzten Modul des Technical Workflows in einer Web-Service-konformen Darstellung an den aufrufenden Web-Service zurückgegeben. Diese SOAP-Response wird mit einem XSLT Converter erstellt.

Web-Service Input Listener Connector konfigurieren

So gehen Sie vor

  1. Erzeugen Sie einen Technical Workflow.

  2. Fügen Sie einen Web-Service Input Listener Connector ein. Legen Sie beim Konfigurieren fest, dass die Definition des aufzurufenden Web-Service am Modul gespeichert werden soll.

  3. Siehe Dialog Bereitgestellter Web-Service

    Öffnen Sie das Kontextmenü des Konnektors und wählen Sie Bearbeiten, um den Web-Service-Editor anzuzeigen.

  4. Klicken Sie auf Operation hinzufügen. Der folgende Dialog öffnet sich:

    module guide 1221 0
  5. Benennen Sie die Operation, z.B. mit SayHello.

  6. Wählen Sie bei Art Anfrage/Antwort aus. Damit legen Sie fest, dass Ihr Web-Service eine SOAP-Response an den aufrufenden Web-Service zurückgibt, statt nur dessen Request zu verarbeiten.

  7. Klicken Sie auf OK, um den Dialog zu schließen.

    Beim Schließen des Dialogs wird aus Ihren Angaben die WSDL Ihres Web-Service erzeugt, in der u.a. die Strukturen der SOAP-Requests und - Responses definiert sind.

    Sie können die WSDL im Register WSDL-Editor anzeigen und die SOAP-Requests/Responses im Register SOAP-Nachrichten.

  8. Publizieren Sie den Konnektor.

SOAP-Response erstellen

So gehen Sie vor

  1. Erzeugen Sie einen XSLT Converter, fügen Sie diesen in den Technical Workflow ein und verbinden Sie ihn mit dem Web-Service Input Listener Connector.

  2. Öffnen Sie den XSLT Converter zum Bearbeiten.

    Das Ergebnis der Workflow-Verarbeitung muss WSDL-konform als SOAP-Response strukturiert werden, bevor es an den aufrufenden Web-Service zurückgesendet werden kann.

  3. In diesem Beispiel fand keine Verarbeitung statt, daher erstellen Sie nun lediglich ein Ausgangsmapping.

    Öffnen Sie im Bereich XML-Zieldatei das module guide 1222 0-Menü und wählen Sie Öffnen von > Web-Service Explorer. Ein Dialog öffnet sich.

  4. Wählen Sie bei Modul Ihren Web-Service Input Listener aus und bei Operation SayHello [Response]:

    module guide 1222 1
  5. Klicken Sie auf Fertig stellen. Die Struktur der SOAP-Nachricht wird angezeigt.

  6. Ziehen Sie das Root-Element der erzeugten SOAP-Nachricht per Drag-and-Drop nach oben auf das xsl:template-Element und passen Sie z.B. den Wert des sayHelloResponse-Elements an:

    module guide 1223 0
  7. Publizieren Sie den XSLT Converter.

  8. Testen: Erstellen Sie einen zweiten Web-Service, der Ihren soeben erstellten Web-Service aufruft.

  9. Publizieren Sie den Technical Workflow.

Sie können Ihren selbst erstellten Web-Service anderen Benutzern über ein UDDI-Verzeichnis zugänglich machen.