PDA

View Full Version : REST Webservice aus SRVPGM Error 404



Seiten : 1 [2]

BenderD
11-11-16, 09:00
Lieber Dieter,

da für Dich alles nicht gut genug ist ... was ist denn Deiner Meinung nach die beste Lösung? Java?!
Das hat aber auch seine Ecken und Kanten und an manchen Stellen sind eben Dinge sogar mit den Pfusch und Huddelduddel-Sprachen einfacher und eleganter zu realisieren.

Die Tendenz geht einfach dahin, dass das richtige Tool für den richtigen Zweck verwendet wird.

Birgitta

... was soll denn diese persönliche Anmache? PHP ist eine Skriptsprache zur Erstellung dynamischer Webseiten - nicht mehr und nicht weniger. Wer meint damit klassische Business Anwendungen, wie sie in RPG existieren, neu zu erstellen, nutzt einfach das falsche Werkzeug! Objekt orientiert nennt sich heute fast alles, das ist so schön modern, trifft aber auf vieles nicht wirklich zu.
Das mit dem richtigen Tool ist entweder schönfärberisch oder geht an der Realität vorbei. Im richtigen Leben benutzt man - oft leider - in der Tat das was man hat oder kann und viel zu oft eben gerade nicht ein - es gibt immer mehrere Möglichkeiten - angemessenes Werkzeug.

D*B

mihael
11-11-16, 09:08
Das mit dem richtigen Tool ist entweder schönfärberisch oder geht an der Realität vorbei. Im richtigen Leben benutzt man - oft leider - in der Tat das was man hat oder kann und viel zu oft eben gerade nicht ein - es gibt immer mehrere Möglichkeiten - angemessenes Werkzeug.


Da muss ich Dieter Recht geben. Viele nutzen einfach nur die Tools, die sie kennen. Ob es dann das richtige oder auch angemessene Tool ist spielt keine Rolle. Viele sind nicht bereit (oder in der Lage) sich auf Neues (oder etwas was sie noch nicht kennen, egal wie alt es ist) einzulassen. Und ich schliesse mich da selber gar nicht von aus (manchmal siegt ebend auch die Faulheit =) ).

Mihael

camouflage
11-11-16, 09:31
Ich schliess mich mal hier gerade auch an. Die heutigen Anfroderungen verlangen halt, dass ein Mix aus verschiedensten Umgebungen nötig ist. Ich denke, das hat auch IBM erkannt und lässt allerlei auf der IBMi zu, siehe die neusten "Open"-Umgebungen.

Und wenn ich schon dabei bin, ich krieg es einfach nicht gebacken, ein Eingabefeld unter Unicode für verschiedene Sprachen zu erstellen. Sprich, Bezeichnungen für Griechisch, Englisch, Deutsch und Tschechisch unter einer CCSID zu erfassen. (Ok, griechische Zeichen z.B. mit Copy/Paste aus Win).
Das muss doch möglich sein, da bin ich doch nicht der Einzige. :-(

Fuerchau
11-11-16, 09:54
Ja und nein.
In DSPF-DDS ein Graphic Feld mit CCSID 13488 (im RPGLE dann Typ C) und die MAXLEN auf die Hälfte beschränken.
Die CA-5250 erlaubt dann eine Eingabe in der Codepage der Sitzung (hier gibts kein Unicode).
Im Programm kommt aber UCS2 dann an und kann in der DB gespeichert werden.
Ebenso kann auch eine Ausgabe erfolgen.
Eine gleichzeitige Darstellung aller Zeichen wird schon von der 5250-Sitzung nicht unterstützt.

Die neue ClientSolutions (ist ja nun Java) soll das aber angeblich können.
Vielleicht probierst du das damit.

Ebenso gibts das auch bei PRTF's (auch hier nur Typ G mit CCSID 13488) sowie dem Schlösselwort FONT dass dann dei Auswahl von unicodefähigen True/Opentype-Fonts erlaubt.
Dies wird dann allerdings nur für die PDF-Ausgabe unterstützt. Selbst Hosttransform kann das dann leider nicht.

camouflage
11-11-16, 10:23
Hi Baldur,

das mit der Java Version ist so ne Sache - klappt ooch nich. Klar auch warum...
"Move Unicode field to rpg-char variable, characters not in char-set-ccsid target will be lost"

Des geht wohl mit RPG ned ...

Fuerchau
11-11-16, 10:34
"Move Unicode field to rpg-char variable" geht auch tatsächlich nicht.
Du musst ja auch eine UCS2-Variable (Typ C) verwenden, die ist dann eben vom Typ Graphic UCS2.

B.Hauser
11-11-16, 10:43
Schau Dir mal das Schlüssel-Wort CCSID in den H- und D-Bestimmungen und die Compiler-Direktiven /SET und /RESTORE an. Vielleicht kommst Du damit weiter.

CCSID Control Keyword (http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzasd/hccsid.htm)
CCSID Definition Keyword (http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzasd/dccsid.htm)
/SET Compiler Directive (http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzasd/cdset.htm)
/RESTORE Compiler Directive (http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzasd/cdrestore.htm)

Birgitta

Rainer Ross
11-11-16, 12:29
Zu der interessanten Diskussion über Webservices habe ich ein paar Beispiele von mir zusammengetragen

Webservice auf der IBM i, der Daten in Tschechisch, Russisch und Chinesisch in XML mit unterschiedlichen CCSID's liefert: www.myhofi.com/muscgip/mymustst.pgm (http://www.myhofi.com/muscgip/mymustst.pgm)

Webservice auf der IBM i, der Daten in JSON liefert: www.myhofi.com/myapp/websrvknd1.pgm?id=1 (http://www.myhofi.com/myapp/websrvknd1.pgm?id=1)

PHP ruft Webservice auf der IBM i auf: http://phpfiddle.org/main/code/z4ij-5n7d

Webservice auf der IBM i mit Node.js programmiert: https://github.com/RainerRoss/webservice-IBM-i-and-Node.js

Webservices von IBM i anzusprechen, z.B. den Webservice von Google Maps, geht sehr einfach über HTTPGETCLOB oder HTTPGETBLOB https://worksofbarry.github.io/blog/?4
(https://worksofbarry.github.io/blog/?4)
Mein Spezialgebiet ist das Bereitstellen von zeitkrititschen und hochperformanten Webservices auf der IBM i, z.B. die Anbindung von Webshops, die Daten von der IBM i benötigen oder von Webanwendungen, die über AJAX auf Webservices zugreifen www.myhofi.com/devhtm/spoolsorter.htm

Herzliche Grüße
Rainer

mk
11-11-16, 13:18
Man kann durchaus ordentliche Intranetanwendungen mit PHP realisieren.

1. ZendServer
2. Frontend Javascript Framework ( EXTJS, jQWidgets , oder ähnliches )
3. Tables mit ccsid 13488 anlegen
4. Rest Webservices mit PHP , SQL Stored Procedures etc...
5. Resultsetrückgabe an den Client mit XML oder JSON

Das ist leichter als gedacht und die Performance ist sehr gut .
Aber jeder so wie er mag.
Gruß
Michael