Anmelden

View Full Version : Parameternamen bei Webservice REST im JSON-Format



Flappes
24-05-17, 11:10
Hallo,

Wir benutzen Webservices (REST) im IWS zum Datenaustausch mit einer DotNet-Anwendung.
Die Datenausgabe erfolgt im JSON-Format.
Die Programme sind RPGLE SRVPGMs (Erzeugen PCML-Datei ...)

Nun ist uns aufgefallen, das manchmal der Parametername in der Ausgabe mit einem kleinem Buchstaben beginnt.
In der PCML-Datei von der Umwandlung steht immer alles mit Großbuchstaben.
Meistens ist es wenn der Feldname mit nur einem Buchstaben beginnt gefolgt von einer Zahl oder einem "_". Danach können weitere Buchstaben folgen.
Diese sind wieder immer in Großbuchstaben.

Das kuriose ist, das wir dies auf 2 unterschiedlichen Partitionen laufen haben, die identischen OS-/ und PTF-Stand haben (aktuelles PTF V7R1)
Auf einem System beginnt der Parametername mit einem Kleinbuchstaben, auf der anderen sind alle Buchstaben in Großbuchstaben.

Hat jemand hierfür eine Erklärung ?

Fuerchau
24-05-17, 12:28
Warum benutzt ihr PCML?
Eleganter sind z.B. SQL-Prozeduren (können ebenso Serviceprogramme sein). Da sind die Namen der Parameter egal, Hauptsache die Inhalte sind korrekt und die Aufrufe mit SQL sind auch einfacher.
Aber das beantwortet natürlich nicht dein Problem.

Flappes
24-05-17, 12:37
Aber im IWS brauch ich doch zwingend eine PCML-Datei, um einen Webservice anlegen zu können.
Oder stehe ich gerade auf dem Schlauch ?
Aber egal die erzeugte PCML ist ja korrekt, mit der der Webservice angelegt wird.

Nur kommt halt im OUTPUT der Parametername komischerweise gglfs mit einem Kleinbuchstaben zurück.

wilfried
31-05-17, 14:38
was meinst du genau?
die JSON-Antwort kommt bei mir unter 7.1. so zurück:

{"STATUS":"*ACTIVE","ACTSTAT":"DLYW"}


Oder rede ich da von was anderem?

Flappes
01-06-17, 08:01
Hallo,

hier mal ein Auszug aus einer Rückgabe:

"COUNT": 6,
"OUTPUTDS": [
{
"w90FIR": "970",
"w90FIL": "001",
"w90ARTN": 1865672,
"w90GROP": 0,
"w90LAGER": 0,
"w90RESERV": 0,
"w90INVENT": 0,
"w90ABGANG": 0,
"w90ZUGANG": 0,
"w90RUECK": 0,
"w90DEKP1": 12.4,
"w90DEKP2": 12.4,
"w90DEKP3": 12.4,
"w90LEKP1": 12.4,
"w90LEKP2": 12.4,
"w90LEKP3": 12.4,
"ACTION": "I"
}

Warum kommen diese mit einem kleinem "w" und nicht mit einem großem "W" ??

So siehts in der PCML-Datei aus. Alle Felder groß geschrieben.
Übergabestruktur

380

Diese wird als OUTPUTDS benutzt

381