-
IBM i Kopplung Shopware 6
Hallo an *ALL.
ich schreibe es einfach mal zur Info.
Wir haben ein Kopplung zu einem Shopware 6 über
QSYS2.HTTP_POST und QSYS2.HTTP_GET ,
stellen auch für die Shopwareanfragen REST API's zur Verfügung usw.
Der Austausch der Daten über die JSON's funktioniert und somit
können wir uns direkt mit dem Shop unterhalten.
Wir brauchen also keine Delays über irgendwelche Austausch Tabellen.
Jetzt haben wir in einem Bildschirmprogramm die Funktionalität eingebaut
das der User die definierten Kontakte im Shop in seinem RPG Programm anzeigen kann.
Dabei kommt folgende Fehlermeldung auf:
PHP-Code:
Nachrichten-ID . . . . : CPF503E Bewertung . . . . . . : 30
Nachrichtenart . . . . : Senderkopie
Sendedatum . . . . . . : 25.01.23 Sendezeit . . . . . . : 09:54:37
Nachricht . . . : Fehler bei benutzerdefinierter Funktion in Teildatei
QSQPTABL.
Ursache . . . . : Beim Aufrufen der benutzerdefinierten Funktion HTTP_POST
in Bibliothek QSYS2 ist ein Fehler aufgetreten. Der Fehler trat beim
Aufrufen des zugeordneten externen Programms oder Serviceprogramms QSQAXISC
in Bibliothek QSYS, Programmeingangspunkt bzw. externem Namen axiscPostClob,
spezieller Name HTTP_POST, auf. Der Fehler trat bei Teildatei QSQPTABL Datei
QSQPTABL in Bibliothek QSYS2 auf. Der Fehlercode ist 1. Fehlercodes und ihre
Bedeutung:
1 -- Das externe Programm oder Serviceprogramm hat SQLSTATE 38501
zurückgegeben. Die vom Programm zurückgegebene Textnachricht ist: AXISC
ERROR : HTTPTransportException: Cannot initialize a channel to the remote
end.?GSKit Error is 6003 - Der Zugriff auf die Schlüsseldatenbank ist nicht
zulässig. .
2 -- Das externe Programm ist vor seiner Beendigung fehlgeschlagen.
3 -- Bei der Datenbank trat ein Zeitüberschreitungsfehler beim Warten auf
die Rückkehr zum Hauptprogramm auf. Der von der Datenbank verwendete
Zeitüberschreitungswert betrug 0 Minuten und 30 Sekunden.
4 -- Das externe Programm ist nicht mehr vorhanden oder wurde nicht
gefunden.
5 -- Bei einem der Eingabeparameter der Funktion ist ein
Datenabgleichungsfehler aufgetreten.
6 bis 26 -- Die vorangegangenen Nachrichten im Jobprotokoll beachten.
Für ein externes Programm ist der angezeigte Programmeingangspunkt *N.
Die Ursache liegt wohl darin der der Benutzer keine Berechtigung hat.
Ändert man das Benutzerprofil auf *ALLOBJ funktioniert der Aufruf.
Selbstverständlich werde ich die Benutzerprofile nicht ändern.
Vielleicht hat aber jemand eine Idee.
Gruß
Michael
-
Kannst du die Funktion nicht auslagern und das Pgm mit den nötigen Rechten ausstatten?
*Owner = ein Technischer User, der sich nicht anmelden kann, aber *allobj hat?
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
 Zitat von Robi
Kannst du die Funktion nicht auslagern und das Pgm mit den nötigen Rechten ausstatten?
*Owner = ein Technischer User, der sich nicht anmelden kann, aber *allobj hat?
Hi,
ja auf so etwas wird es wohl auch hinauslaufen.
Aber vielleicht kann man etwas auf der i einstellen.
-
Du kannst das Programm unter Owner-Berechtigung laufen lassen.
Eine andere Einstellung gibts da nicht.
Aber das Thema "APP-Owner" haben wir schon des öfteren angesprochen.
- Nicht anmelefähiger User (*SIGNOFF)
- Bibliotheken mit PUBLIC *EXCLUDE
- Programme grundsätzlich mit APP-Owner als Eigentümer und *OWNER-Berechtigung.
Diesbezüglich schreibt man sich seit Jahrzehnten die Finger wund;-).
-
Es ist sehr zu empfehlen solche "Tätigkeiten" (wie HTTP Requests) als eigenes Service auf der IBM i laufen zu lassen.
Also ein eigener Job, der via Data Queue (am Besten in Verbindung mit einer Tabelle), die Aufgaben bekommt, verarbeitet und das Ergebnis an den Aufrufer zurück schickt (ebenfalls via Data Queue zurück).
Mit DTAQs hast du quasi Zero Delay in der Kommunikation zwischen den Jobs und der HTTP Request wird sofort ausgeführt und der Aufrufer erhält auch sofort das Ergebnis zurück.
Damit hast du dann auch keine Probleme mit Rechte, Speicher, Paralellisierung usw..
lg Andreas
-
... *ALLOBJ ist auch als adopted authority Waffenschein.pflichtig. Wenn man Marjorie nach der Fehlermeldung fragt, kennt sie Charles Wilt (https://www.scottklement.com/archive.../msg00020.html), der ein kleineres Hämmerchen empfiehlt.
D*B
-
Zu klären ist da eher, welche Berechtigung für die Schlüsseldatenbank denn erforderlich ist.
ALLOBJ sollte es eigentlich nicht sein.
Similar Threads
-
By bie-dro in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 30-09-21, 17:29
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks