Oracle Fusion Middleware Blog

Deutsche Informationen rund um Oracle Fusion Middleware

Aufruf eines Web Service aus einer Forms-Anwendung

with one comment

OK, für einen OO-erfahrenen Entwickler scheint dies eine klare Sache zu sein. Aber manchmal trägt es zum Verständnis bei, die Dinge etwas zu sortieren.
Soll ein Web Service aus einer Oracle Forms-Anwendung aufgerufen werden, sind ein oder mehrere Java-Klassen des Web Service-Client in das Forms-Modul zu importieren.

Dabei können verschiedene Fälle auftreten:

    1. Wenn die Klasse static ist, enthält die Signatur der importierten Methoden in den meisten Fällen nur einfache Datentypen wie in diesem Beispiel:
      FUNCTION <method>(
      a0 VARCHAR2,
      a1 VARCHAR2,
      a2 VARCHAR2) RETURN BOOLEAN;
      Diese Methode kann auf einfache Weise innerhalb der Forms-Applikation aufgerufen werden, indem die entsprechenden Werte übergeben werden.


    1. Wenn die Klasse nicht vom Typ static ist, d.h. es werden Instanzen dieser Klasse zur Laufzeit erzeugt, findet man in der Signatur der generierten PL/SQL-Methode ein Objekt:
      FUNCTION <method>(
      obj ORA_JAVA.JOBJECT,
      a0 VARCHAR2,
      a1 VARCHAR2) RETURN ORA_JAVA.JOBJECT;
      In diesem Fall muss beim Aufruf ein initialisiertes Objekt dieser Klasse übergeben werden. Dieses Objekt kann durch die Methode new() innerhalb des PL/SQL-Codes erzeugt werden:
      obj := <class>.new();


  1. Wenn die Klasse nicht vom Typ static ist und ein zusätzliches Objekt als Parameter benötigt, sieht die Signatur der PL/SQL-Methode folgendermaßen aus:
    FUNCTION <method>(
    obj ORA_JAVA.JOBJECT,
    a0 ORA_JAVA.JOBJECT,
    a1 VARCHAR2,
    a2 VARCHAR2) RETURN ORA_JAVA.JOBJECT;
    In diesem Fall muss wie im zweiten Fall ein initialisiertes Objekt für diese Klasse mittels der Methode new() im PL/SQL-Code erzeugt werden:
    obj := <class>.new();
    Zusätzlich
    muss ein Objekt für den Parameter übergeben werden, indem die entsprechende Klasse (des Parameter-Objektes) in das Forms-Modul importiert und eine neue Instanz dieser Klasse erzeugt wird:
    a0: = <additional_class>.new();

<JM>

Written by fmtechteam

04/10/2008 um 18:44

Veröffentlicht in Forms, Jürgen Menge

Tagged with ,

Eine Antwort

Subscribe to comments with RSS.

  1. […] Nachdem die neue Version des BI Publisher 10.1.3.4 verfügbar ist, wollte ich einen bestehenden Web Service-Aufruf aus einer Forms-Applikation testen. Der Aufruf konnte ohne Fehler ausgeführt werden, der erzeugte […]


Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: