[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2001
    Beiträge
    832

    Smile 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 bzwexternem Namen axiscPostClob,
      
    spezieller Name HTTP_POSTaufDer Fehler trat bei Teildatei QSQPTABL Datei
      QSQPTABL in Bibliothek QSYS2 auf
    Der Fehlercode ist 1. Fehlercodes und ihre
      Bedeutung
    :                                                                  
        
    -- Das externe Programm oder Serviceprogramm hat SQLSTATE 38501         
      zurückgegeben
    . Die vom Programm zurückgegebene Textnachricht istAXISC     
      ERROR  
    HTTPTransportExceptionCannot initialize a channel to the remote  
    end
    .?GSKit Error is 6003 Der Zugriff auf die Schlüsseldatenbank ist nicht
    zulässig
    . .                                                                
      
    -- Das externe Programm ist vor seiner Beendigung fehlgeschlagen.      
      
    -- Bei der Datenbank trat ein Zeitüberschreitungsfehler beim Warten auf
    die Rückkehr zum Hauptprogramm aufDer von der Datenbank verwendete       
    Zeitüberschreitungswert betrug 0 Minuten und 30 Sekunden
    .                  
      
    -- Das externe Programm ist nicht mehr vorhanden oder wurde nicht      
    gefunden
    .                                                                  
      
    -- 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

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    1.973
    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!)

  3. #3
    Registriert seit
    Jan 2001
    Beiträge
    832
    Zitat Zitat von Robi Beitrag anzeigen
    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.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    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;-).
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Nov 2020
    Beiträge
    315
    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

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    ... *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
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Zu klären ist da eher, welche Berechtigung für die Schlüsseldatenbank denn erforderlich ist.
    ALLOBJ sollte es eigentlich nicht sein.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. PDF-Dokument per API aus Shopware 6 laden und auf der AS/400 drucken
    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
  •