[NEWSboard IBMi Forum]
Seite 2 von 3 Erste 1 2 3 Letzte
  1. #13
    Registriert seit
    Mar 2002
    Beiträge
    5.294
    Hallo,

    Group PTF Stand könnte immer noch Kandidat sein.
    Hast du folgende Datei bei dir:
    /QIBM/UserData/Java400/SystemDefault.properties
    oder
    /home/userid/SystemDefault.properties
    oder gibt es sonstwo bei dir Dateien mit dem Namen SystemDefault.properties? wenn ja dann poste mal den Inhalt.
    Die Frage mit den vorherigen Java Aufrufen im gleichen Job ist noch offen!

    mfg

    Dieter Bender

    Zitat Zitat von muadeep
    Public-Berechtigung der *.class Files habe ich auf "use" gesetzt -> funkt leider auch nicht!

    Wir haben V5.2 installiert

    Wie kann ich den festellen welche Java-Gruppen PTF es sein sollte?

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

  2. #14
    Registriert seit
    Aug 2001
    Beiträge
    309
    Also unter /QIBM/UserData/Java400/ und unter /home/userid/
    habe ich die Datei "SystemDefault.properties" nicht gefunden!

    Kann ich den z.b. mit WRKLNK nach einer bestimmten Datei suchen lassen?

    ich hab einfach mal so in den Verzeichnissen rumgeschaut, da hab ich folgende Datei gefunden
    /QIBM/ProdData/Java400/SystemDefaultCacheExample.properties
    Weiß aber nicht, ob die mit der gewünschen was zu tun hat?

    Ich poste sie trotzdem mal!
    os400.define.class.cache.file=/QIBM/ProdData/Java400/QDefineClassCache.jar
    os400.define.class.cache.hours=168
    os400.define.class.cache.maxpgms=5000

    Die Frage mit den vorherigen Java Aufrufen im gleichen Job
    kann ich leider nicht beantworten, da ich nicht genau weiß was du damit meinst?

    Soll ich dir mal die beiden RPG's mit den Java's aufrufen, Proc., etc. posten oder?

  3. #15
    Registriert seit
    Mar 2002
    Beiträge
    5.294
    Hallo,

    wenn du dir mal den OS400 Command JAVA (oder runjva) anschaust, da gibt es einen Parameter CHKPATH, der Einstellungen an der JVM vornimmt. Dieser Parameter steht im default auf *WARN, aber dein Programm verhält sich so, als ob der auf *SECURE stünde. Nun wird aber beim Aufruf von Java aus rpg die JVM automatisch gestartet, aber nur beim ersten Java Aufruf innerhalb des Jobs; ich will halt ausschließen, dass da bereits vorher was passiert.
    Normal wird der CHPATH eingestellt über den Parameter von JAVA oder RUNJVA, über die SystemDefault.properties, die in QIBM... oder im Benutzerverzeichnis gesucht werden; das von dir gefundene ist dabei nicht im Spiel. Suchen kann man Dateien nach Namen von der Qshell, oder mit dem Explorer und gemappter AS400, wenn der Netserver eingerichtet ist.
    Eine weitere Möglichkeit an den JVM Parametern rumzuschrauben beommt man auch mit Java Native Interface hin. Das tückische ist halt, dass es sein kann, dass ein anderes Programm vorher verdrechsellt hat und Stunden später ein völlig anderes Programm zusammen bricht - ich weiss schon warum ich immer sage: Finger weg von diesem Unfug!!!

    mfg

    Dieter Bender


    Zitat Zitat von muadeep
    Also unter /QIBM/UserData/Java400/ und unter /home/userid/
    habe ich die Datei "SystemDefault.properties" nicht gefunden!

    Kann ich den z.b. mit WRKLNK nach einer bestimmten Datei suchen lassen?

    ich hab einfach mal so in den Verzeichnissen rumgeschaut, da hab ich folgende Datei gefunden
    /QIBM/ProdData/Java400/SystemDefaultCacheExample.properties
    Weiß aber nicht, ob die mit der gewünschen was zu tun hat?

    Ich poste sie trotzdem mal!
    os400.define.class.cache.file=/QIBM/ProdData/Java400/QDefineClassCache.jar
    os400.define.class.cache.hours=168
    os400.define.class.cache.maxpgms=5000

    Die Frage mit den vorherigen Java Aufrufen im gleichen Job
    kann ich leider nicht beantworten, da ich nicht genau weiß was du damit meinst?

    Soll ich dir mal die beiden RPG's mit den Java's aufrufen, Proc., etc. posten oder?
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #16
    Registriert seit
    Aug 2001
    Beiträge
    309
    so, habe mal mit der QSHELL
    und dem Befehl "find * | grep SystemDefault"
    nach der Datei "SystemDefault.properties" suchen lassen!
    (hoffe der Befehl stimmte so?)

    das einzige, was gefunden wurde war dies:
    QIBM/ProdData/Java400/SystemDefaultCacheExample.properties

    aber die hat ja damit leider nicht's zu tun!

    wie sollte denn die SystemDefault.properties" aussehen?
    kann/muß ich die nachträglich installieren?
    Fehlt mir vieleicht was bestimmtes auf meinem System?
    Sollen noch bestimmte Daten/Programme auf der AS400 installiert werden?

  5. #17
    Registriert seit
    Mar 2002
    Beiträge
    5.294
    Hallo,

    das heißt dass es daran nicht liegt, der default ist ja richtig. Ich wollte nur sicher gehen, dass da nicht irgendwo eine Einstellung umgeknipst wird.
    Was kriegst du denn bei dem OS400 Command Java für einen default für
    den Parameter CHKPATH angezeigt?
    Hast du irgendeinen funktionierenden Java Aufruf aus RPG auf eine kleine Testklasse, oder geht das immer schief?

    mfg

    Dieter Bender

    Zitat Zitat von muadeep
    so, habe mal mit der QSHELL
    und dem Befehl "find * | grep SystemDefault"
    nach der Datei "SystemDefault.properties" suchen lassen!
    (hoffe der Befehl stimmte so?)

    das einzige, was gefunden wurde war dies:
    QIBM/ProdData/Java400/SystemDefaultCacheExample.properties

    aber die hat ja damit leider nicht's zu tun!

    wie sollte denn die SystemDefault.properties" aussehen?
    kann/muß ich die nachträglich installieren?
    Fehlt mir vieleicht was bestimmtes auf meinem System?
    Sollen noch bestimmte Daten/Programme auf der AS400 installiert werden?
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #18
    Registriert seit
    Aug 2001
    Beiträge
    309
    also mit dem Command "Java" erhalte ich folgendes

    Java-Programm ausführen (JAVA)

    Auswahl eingeben und Eingabetaste drücken.

    Klassendatei oder JAR-Datei . .

    Parameter . . . . . . . . . . . *NONE

    + für weitere Werte

    Klassenpfad . . . . . . . . . . *ENVVAR

    Zusätzliche Parameter

    Sicherh.prüf.stufe Klassenpfad *WARN *WARN, *SECURE, *IGNORE
    Weitere ...
    F3=Verlassen F4=Bedienerf. F5=Aktualisieren F12=Abbrechen
    F13=Verwendung der Anzeige F24=Weitere Tasten


    Ich benutze ein Java Programm um mit SQL eine Excelabfrage zu erstellen!
    Dieses müßte das Java von Jakarta (POI) benutzen!
    Das funkt auf jeden Fall!

    Kann dir dazu gerne den RPGLE-Code posten!

  7. #19
    Registriert seit
    Mar 2002
    Beiträge
    5.294
    Hallo,

    das mit dem default sieht gut aus und der Mechanismus des JVM Starts aus RPG scheint ok zu sein.
    Was passiert in deinem Programm mit dem eMail senden denn vorher noch?
    in welchem Kontext läuft das Programm? interaktiv oder Batch oder in einem Serverdienst?

    mfg

    Dieter Bender

    Zitat Zitat von muadeep
    also mit dem Command "Java" erhalte ich folgendes

    Java-Programm ausführen (JAVA)

    Auswahl eingeben und Eingabetaste drücken.

    Klassendatei oder JAR-Datei . .

    Parameter . . . . . . . . . . . *NONE

    + für weitere Werte

    Klassenpfad . . . . . . . . . . *ENVVAR

    Zusätzliche Parameter

    Sicherh.prüf.stufe Klassenpfad *WARN *WARN, *SECURE, *IGNORE
    Weitere ...
    F3=Verlassen F4=Bedienerf. F5=Aktualisieren F12=Abbrechen
    F13=Verwendung der Anzeige F24=Weitere Tasten


    Ich benutze ein Java Programm um mit SQL eine Excelabfrage zu erstellen!
    Dieses müßte das Java von Jakarta (POI) benutzen!
    Das funkt auf jeden Fall!

    Kann dir dazu gerne den RPGLE-Code posten!
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  8. #20
    Registriert seit
    Aug 2001
    Beiträge
    309
    Habe mal versucht in der QSHELL die "JavaMail.java" mit javac umzuwandeln so daß mir die *.class - Datei erstellt wird!
    (javac JavaMail.java)

    Bekomme dann folgende Fehlermeldungen!
    JavaMail.java:7: package javax.mail does not exist
    import javax.mail.*;

    JavaMail.java:8: package javax.mail.internet does not exist
    import javax.mail.internet.*;
    ^
    JavaMail.java:54: cannot resolve symbol
    symbol : class Session
    location: class JavaMail
    Session session = Session.getDefaultInstance(systemProperty, null);
    ^
    JavaMail.java:54: cannot resolve symbol
    symbol : variable Session
    location: class JavaMail
    Session session = Session.getDefaultInstance(systemProperty, null);
    :
    :
    JavaMail.java:88: cannot resolve symbol
    symbol : class MessagingException
    location: class JavaMail
    realException = ((MessagingException)realException).getNextExcepti on();
    ^
    JavaMail.java:92: cannot resolve symbol
    symbol : class MessagingException
    location: package mail
    if (realException instanceof javax.mail.MessagingException)
    ^
    18 errors

    hab dann mal nach der "javax.mail" suchen lassen, die ist gar nicht auf meiner AS/400!
    genaus wie die "javax.mail.internet"

    könnte es veileicht daran liegen?
    Fals ja, wo bekomme ich die her und wie muß ich sie installieren!

    Im RPGL habe ich folgendes:
    H DftActGrp(*NO) ActGrp(*CALLER)
    ************************************************** ************************
    * JavaMail: RPG call Java method to send email *
    * *
    * 22.03.2004 *
    ************************************************** ************************
    D Class1 C 'JavaMail'
    D Class2 C 'JavaMailwithAttachment'

    /Copy QRPGLESRC,JAVAMAILPR

    D from S 50
    D to S 50
    D replyTo S 50
    D subject S 50
    D text S 9999
    D filename S 100
    D charRtnCode S 3
    D rtnCode S 5I 0
    D rtnText S 100

    D sFrom S O Class(*JAVA:'java.lang.String')
    D sTo S O Class(*JAVA:'java.lang.String')
    D sReplyTo S O Class(*JAVA:'java.lang.String')
    D sSubject S O Class(*JAVA:'java.lang.String')
    D sText S O Class(*JAVA:'java.lang.String')
    D sFilename S O Class(*JAVA:'java.lang.String')

    **
    **
    C *entry PList
    C Parm from
    C Parm to
    C Parm replyTo
    C Parm subject
    C Parm text
    C Parm filename
    C Parm charRtnCode
    C Parm rtnText

    * Create String objects from the alphanumeric constants
    c If from <> ' ' and to <> ' '
    C Eval sFrom = newString(%trim(from))
    C Eval sTo = newString(%trim(to))

    C If replyTo = ' '
    C Eval sReplyTo = newString(' ')
    C Else
    C Eval sReplyTo = newString(%trim(replyTo))
    C EndIf

    C If subject = ' '
    C Eval sSubject = newString(' ')
    C Else
    C Eval sSubject = newString(%trim(subject))
    C EndIf

    C If text = ' '
    C Eval sText = newString(' ')
    C Else
    C Eval sText = newString(%trim(text))
    C EndIf

    C If filename = ' '
    C Eval rtnCode = sendMail1(sFrom:sTo:sReplyTo:
    C sSubject:sText)
    C Else
    C Eval sFilename = newString(%trim(filename))
    C Eval rtnCode = sendMail2(sFrom:sTo:sReplyTo:
    C sSubject:sText:sFilename)
    C EndIf

    C Else
    C Eval rtnCode = 105
    C EndIf

    C ExSr $setRtnCode

    C Eval *InLR = *On
    ************************************************** **************
    * $SetRtnCode: Set return code *
    ************************************************** **************
    C $SetRtnCode BegSr

    C Select
    C When rtnCode = 0
    C Eval rtnText = 'Send mail completed.'
    C When rtnCode = 100
    C Eval rtnText = 'Email property file not found.'
    C When rtnCode = 101
    C Eval rtnText = 'javax.mail.MessagingException'
    C When rtnCode = 102
    C Eval rtnText = 'java.net.ConnectException'
    C When rtnCode = 103
    C Eval rtnText = 'java.net.UnknownHostException'
    C When rtnCode = 104
    C Eval rtnText = 'Attachment file not found!'
    c When rtnCode = 105
    c Eval rtnText = 'Email address not found!'
    C When rtnCode = 999
    C Eval rtnText = 'Run time error.'

    C EndSl

    C Move rtnCode charRtnCode

    C EndSr

  9. #21
    Registriert seit
    Mar 2002
    Beiträge
    5.294
    Hallo,

    Fehler, die man schwer findet sind entweder höllisch kompliziert, oder elementar im vorliegenden Fall zweiteres:
    mit deinem Package Namen ist was nicht in Ordnung. Packages, die mit java anfangen sind reserviert.

    mfg

    Dieter Bender

    PS: das mit dem fehlenden javax.... ist ein Classpath Problem und hat mit dem anderen nix zu tun.

    mfg

    Dieter Bender


    Zitat Zitat von muadeep

    Doch als ich mein RPGLE aufrufen wollte, bekam ich einen Programmabbruch!

    Java-Ausnahme "java.lang.SecurityException: Prohibited package name:
    java.demo" empfangen, als die Methode "sendSimpleMail" mit Kennung
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #22
    Registriert seit
    Aug 2001
    Beiträge
    309
    Package-Namen ????

    Sorry, aber ich versteh jetz überhaupt nicht's mehr!

    Was ist ein Package Name?

    Was muß ich den machen, damit das Programm auch bei
    mir läuft?

    Wie muß ich den Source-Code abwandeln, bzw. was muß ich darin ändern?

    PS: Bin leider mit Java überhaupt nicht speziel! ;-)

  11. #23
    Registriert seit
    Mar 2002
    Beiträge
    5.294
    Hallo,

    vielleicht fängst du mal hier an:
    http://www.boku.ac.at/javaeinf/
    mfg

    Dieter Bender



    Zitat Zitat von muadeep
    Package-Namen ????

    Sorry, aber ich versteh jetz überhaupt nicht's mehr!

    Was ist ein Package Name?

    Was muß ich den machen, damit das Programm auch bei
    mir läuft?

    Wie muß ich den Source-Code abwandeln, bzw. was muß ich darin ändern?

    PS: Bin leider mit Java überhaupt nicht speziel! ;-)
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  12. #24
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Hallo Muadeep,

    noch einmal, der Fehler liegt nicht in diesem JavaMail-Tool. Deshalb brauchst Du auch den Source-Code nicht zu posten. Dein Problem, dass Du das JavaMail Programm nicht kompilieren konntest, liegt daran, dass Dein CLASSPATH nicht stimmt. Rufe doch zunächst mal (mit CALL)das Programm STRMAIL auf. Das setzt den CLASSPATH. Und schau Dir danach mal mit WRKENVVAR die Variable CLASSPATH an. Dort müssten die ganzen JARs eingetragen sein, die bei Dir hoffentlich auch im Verzeichnis /JavaUtil/JavaMail im IFS vorhanden sind. Nur dann kannst Du auch kompilieren und ausführen. Mit dem Programm CLSMAIL wird der CLASSPATH wieder zurückgesetzt.
    Da Du offenbar auch andere Java-Programme benutzt, würde ich Dir empfehlen erstmal Deinen Job zu beenden und dann das Ganze in einem neuen Job nochmal zu testen, um sicherzugehen, dass da nichts anderes mehr dazwischenfunkt. Ist mir auch schon öfters passiert, dass ein Java-Aufruf erst geklappt hat, nachdem ich ihn in einem neu initialisierten Job gestartet habe.

    Gruß,
    KM

Similar Threads

  1. Java und Fehlermeldung jva0122 bei simplen "Hello World"
    By TARASIK in forum IBM i Hauptforum
    Antworten: 21
    Letzter Beitrag: 30-03-11, 13:48
  2. Java Version
    By Muchi in forum NEWSboard Java
    Antworten: 2
    Letzter Beitrag: 07-11-06, 11:00
  3. Antworten: 3
    Letzter Beitrag: 06-06-06, 15:57
  4. email mit java
    By muadeep in forum NEWSboard Java
    Antworten: 0
    Letzter Beitrag: 27-10-04, 13:07
  5. email mit java
    By muadeep in forum NEWSboard Java
    Antworten: 0
    Letzter Beitrag: 27-10-04, 13:05

Berechtigungen

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