[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2004
    Beiträge
    444

    Webservice + RPG

    Hi,

    ich habe folgendes Problem.

    Ich habe eine MYSQL Datenbank. Jetzt bräuchte ich Daten aus dieser in meinem RPG-Programm. Ein Java-Programm ist vorhanden welche die Daten aus der MYSQL-Datenbank holt. Jetzt meine Frage.
    Gibt es eine Möglichkeit aus einem RPG-Programm heraus ein Java-Programm aufzurufen, welches aber nicht auf der AS400 ist sondern auf einem externen Server, und die Daten dann wieder ans RPG zurück gibt ?

    Viele Grüsse Harald

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... gehen tut das schon, aber antun würde ich mir das nicht, da würde ich lieber eine Java Bridge dazwischenschalten.
    Für die RPG Hardliner: Mr. Google liefert ein paar Fundstellen - aber bitte nicht bei mir über abgebrochene Fingernägel und hochgeklappte Fußnägel beschweren!

    D*B

    Zitat Zitat von harkne Beitrag anzeigen
    Hi,

    ich habe folgendes Problem.

    Ich habe eine MYSQL Datenbank. Jetzt bräuchte ich Daten aus dieser in meinem RPG-Programm. Ein Java-Programm ist vorhanden welche die Daten aus der MYSQL-Datenbank holt. Jetzt meine Frage.
    Gibt es eine Möglichkeit aus einem RPG-Programm heraus ein Java-Programm aufzurufen, welches aber nicht auf der AS400 ist sondern auf einem externen Server, und die Daten dann wieder ans RPG zurück gibt ?

    Viele Grüsse Harald
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Jan 2009
    Beiträge
    67
    Hallo,

    ist es denn ein Java Programm, welches auf der System i läuft oder handelt es sich wirklich um einen Webservice?

    Letzteres kann man mittels dem Serviceprogramm HTTPAPI von Scott Klement ansprechen. Das Serviceprogramm selbst ist eigentlich ein HTTP Client für RPG, wurde aber erweitert und kann auch SOAP Nachrichten parsen mittels eXpat, welches dem SAVF beiliegt.

    Hypertext Transfer Protocol API

    Ein kleines Tutorial kann man hier finden:
    http://www.rpgnextgen.com/downloads/...e%20Client.pdf

    Allerdings stimme ich Herrn Bender zu: Wenn es darum geht einfach nur die Daten von der MySQL Datenbank zu holen wäre ein Web Service nicht unbedingt meine erste Wahl.

    MySQL Database Access from RPG | System iNetwork

    Gruss

    Mihael

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    meine Antwort bezog sich primär auf die Titelzeile WebService aus RPG aufrufen, was allerdings die Variante mit dem JDBC mit embedded Java in RPG angeht, da sind meine Befürchtungen bezüglich Finger- und Fußnägel nicht kleiner, die Krux ist doch, dass ich dann in jedem Job, der das verwendet eine JVM als Wackelhaufen starte(wenn sie ein anderer schon gestartet hat, dann klemmts irgendwo, irgendwie...)
    Ich würde in beiden Fällen einen asynchronen Java Serverdienst einsetzen, der mit einem Service Programm per DataQ kommuniziert. (sonst hätte ich da auch keine OpenSource zu gemacht)

    D*B


    Zitat Zitat von mihael Beitrag anzeigen
    Hallo,

    ist es denn ein Java Programm, welches auf der System i läuft oder handelt es sich wirklich um einen Webservice?

    Letzteres kann man mittels dem Serviceprogramm HTTPAPI von Scott Klement ansprechen. Das Serviceprogramm selbst ist eigentlich ein HTTP Client für RPG, wurde aber erweitert und kann auch SOAP Nachrichten parsen mittels eXpat, welches dem SAVF beiliegt.

    Hypertext Transfer Protocol API

    Ein kleines Tutorial kann man hier finden:
    http://www.rpgnextgen.com/downloads/...e%20Client.pdf

    Allerdings stimme ich Herrn Bender zu: Wenn es darum geht einfach nur die Daten von der MySQL Datenbank zu holen wäre ein Web Service nicht unbedingt meine erste Wahl.

    MySQL Database Access from RPG | System iNetwork

    Gruss

    Mihael
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    Jan 2009
    Beiträge
    67
    Die Java-RPG-MySQL-Lösung ist auch nur eine weitere Möglichkeit, die man hat und nicht unbedingt die passende zu der Situation.

    ... und falls der Ersteller von diesem Thread folgende Lösung noch nicht kennt, kann er sich die ja auch mal anschauen:

    SourceForge.net: AppServer4RPG

    Lohnt sich auf jeden Fall.

    Gruss

    Mihael

  6. #6
    Registriert seit
    May 2004
    Beiträge
    444
    Vielen Dank für die Hilfe.

    Ich hab den Thread nur geschrieben und gebe die Warnungen und Vorschläge mal so weiter.

    Viele Grüsse Harald

  7. #7
    Registriert seit
    Mar 2006
    Beiträge
    27

    HTTP-Request von i5 an ... (Content-Type: ...urlencoded)

    Zitat Zitat von mihael Beitrag anzeigen
    Hallo,

    ist es denn ein Java Programm, welches auf der System i läuft oder handelt es sich wirklich um einen Webservice?

    Letzteres kann man mittels dem Serviceprogramm HTTPAPI von Scott Klement ansprechen. Das Serviceprogramm selbst ist eigentlich ein HTTP Client für RPG, wurde aber erweitert und kann auch SOAP Nachrichten parsen mittels eXpat, welches dem SAVF beiliegt.

    Hypertext Transfer Protocol API

    Ein kleines Tutorial kann man hier finden:
    http://www.rpgnextgen.com/downloads/...e%20Client.pdf

    Allerdings stimme ich Herrn Bender zu: Wenn es darum geht einfach nur die Daten von der MySQL Datenbank zu holen wäre ein Web Service nicht unbedingt meine erste Wahl.

    MySQL Database Access from RPG | System iNetwork

    Gruss

    Mihael
    hello @all,
    hiermit deklassiere ich mich zwar als newbie, aber mir bleibt keine andere Wahl. Ich habe keinerlei Erfahrung in diesem Bereich und jetzt die Anforderung auf dem Tisch einen http-request aus einem RPG-Programm heraus - möglichst performant - abzusetzen.
    Die obige Lösung (HTTPAPI von Scott Klement) und das angegebene Tutorial kommt meinem Problem schon ziemlich nahe. Allerdings brauche ich die Anwendung des API's bis ins Kleinste vorgekaut, d.h. wie setze ich den http-request ab???

    Die zu übertragenden Daten sind:

    PHP-Code:
    POST capture.html HTTP/1.0
    Content
    -Typeapplication/x-www-form-urlencoded
    Content
    -Length175
    Hier steht dann der zu übertragende Text 
    Ein http-response muss natürlich auch verarbeitet werden:

    PHP-Code:
    POST capture.html HTTP/1.0
    Content
    -Length55
    RC
    =0&Hier steht dann der zu empfangende Text 
    Kann mich da jemand mit der Nase draufstoßen, d.h. welches API muss ich wie verwenden...???

    thx @all

  8. #8
    Registriert seit
    Jan 2009
    Beiträge
    67

    HTTAPI

    Das Serviceprogramm HTTPAPI von Scott Klement ist genau was du brauchst. Scott Klement hat ausserdem ne Menge Beispiele noch als Source beigelegt. Die Beschreibung der Prozeduren ist bei den Prototypen zu finden. Das sollte locker reichen. Ein bischen musst du nun auch schon selber machen.

    Gruss

    Mihael

  9. #9
    Registriert seit
    Nov 2006
    Beiträge
    102

    Artikel in NEWSolutions

    Hallo,
    meine Übersetzungen von zwei Scott-Klement-Artikeln zu Deinem Thema findest Du in NEWSolutions.
    Ausgabe Februar 2007: RPG und Webservices.
    Ausgabe Juli 2007: MySQL-Zugriff mit RPG und JDBC.
    Beide mit Beispielcode zum Download.
    Gruß
    M. Spateneder

Similar Threads

  1. Rückgabewert vom RPG Programm
    By mk in forum NEWSboard Java
    Antworten: 8
    Letzter Beitrag: 21-04-11, 21:51
  2. Bibliotheksliste in RPG IV abfragen
    By timeless in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 11-01-07, 12:04
  3. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  4. RPG goes Web
    By jth in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 21-12-06, 11:13

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •