PDA

View Full Version : JavaMail API



Seiten : [1] 2

tomikra
13-08-04, 15:19
Hallo Forum,

ich habe nach der anweisung von James Zhang das JavaMail API installiert, die programm umgewandelt. Alles ohne Probleme

Der Aufruf der programms strmail funktioniert,

aber der Aufruf der Programms cjavamail bricht ab mit folgender Meldung:

Nachrichten-ID . . . . : RNQ0222 Bewertung . . . . . . : 99
Nachrichtenart . . . . : Anfrage
Sendedatum . . . . . . : 13.08.04 Sendezeit . . . . . . : 16:13:00

Nachricht . . . : Zeiger- oder Parameterfehler (C G D F).
Ursache . . . . : In RPG-Prozedur JAVAMAIL in Programm MAILLIB/JAVAMAIL ist
bei Anweisung 265 aufgrund eines nicht korrekt gesetzten Zeigers ein Fehler
aufgetreten. Mögliche Fehlerursachen sind:
-- Ein Basiszeiger wurde nicht gesetzt.
-- Ein Prozedurzeiger wurde nicht gesetzt.
-- Der Zeiger wurde gesetzt, das Objekt, auf das er Bezug nimmt, wurde
jedoch zerstört.
-- Ein Parameter wurde nicht an das Programm übergeben, das die Prozedur
enthält.
-- Ein Parameter wurde nicht vom Aufrufer innerhalb des Programms an die
Prozedur übergeben.
-- Eine relative Zeigerposition überschritt die Größe des Bereichs, auf
den der Zeiger zeigte.
Fehlerbeseitigung: Das Jobprotokoll auf weitere Informationen zur
Fehlerursache prüfen und den für die Programmpflege verantwortlichen
Benutzer benachrichtigen.
Auswahlmöglichkeiten . . . . . . . . . . . . . . . . . . . . . . . . . :
D -- Einen RPG-formatierten Speicherauszug erstellen.
S -- Einen Systemspeicherauszug erstellen.
G -- Die Verarbeitung bei *GETIN fortsetzen.
C -- Abbruch.
F -- Einen vollständig formatierten Speicherauszug erstellen.

Hab leider keine Ahnung was das Bedeutet. Kann mir jemand weiterhelfen?

Vielen Dank.

Gruß

Tomikra

Fuerchau
13-08-04, 16:02
Dies deutet darauf hin, dass die Anzahl der Parameter die übergeben werden nicht mit der Anzahl Parametern übereinstimmt, die erwartet werden !

tomikra
14-08-04, 13:22
Super,

danke, genau das wars, jetzt funktionierts.

Aber beim Aufrufen des Beispielprogramms passiert gar nix, ich bekomme keine Fehlermeldung bzw. eine Email bekomme ich auch nicht.

Sollte beim Aufrufen des Beispielprogramms eine Meldungen auf der AS/400 kommen?

Gruß
tomikra

Fuerchau
16-08-04, 07:51
Ich vermute mal, dass der SMTP-Dienst nicht eingerichtet und gestartet ist.

tomikra
26-08-04, 15:17
Hallo,

ich hab jetzt mal auf der as/400 den smtp server eingerichtet.
Ich kann auch per Telnet dann ne Mail senden. Diese Mail wird dann an den Notes-Server weitergeleitet.

Sobald ich jedoch das Programm aufrufe passiert gar nix.

Ich hab nun im JavaMail.properties file unseren Notes-Server eingetragen. Im Status Fenster des Notesserver erscheint folgende Meldung:
SMTP Server: 10.64.100.1 connected
SMTP Server: 10.64.100.1 disconnected 0 message received.

Das heisst doch das Prog baut eine Verbindung auf. Aber sendet keine Daten, obwohl im Programm Adressen stehen?

Muss bei dem Progamm der SMTP-Server der AS/400 verwendet werden, oder kann es auch der Notesserver sein?

Gruß
tomikra

KM
27-08-04, 07:34
Hallo Tomikra,

ich habe auch das Tool von James Zhang im Einsatz. Ich nutze es sehr oft und bei mir klappt alles wunderbar.
In der erwähnten Properties-Datei muß unter "email.hostname" Dein Notes-Mailserver eingetragen sein. Auf der iSeries ist hierfür überhaupt keine Konfiguration bzgl. SMTP nötig. Das ist ja einer der Vorteile dieses Tools. Ich gehe mal davon aus, dass Du das JavaUtil-Verzeichnis korrekt im IFS angelegt hast, sonst wäre Dein Mailserver ja auch nicht erreichbar. Kann es evtl. sein, dass die eMail-Adresse nicht korrekt ist, die Du in Deinem aufrufenden Programm angegeben hast ? Vielleicht liegt es ja auch an der Konfiguration Deines Mailservers ?
Zeigt Dein JOBLOG irgendwas besonderes ? (Normalerweise erscheint keine Meldung auf der iSeries bei dem Beispielprogramm).

Gruß,
KM

KM
27-08-04, 07:49
Hallo Tomikra,

da der Mailserver erreicht wird und nur keine Mail geschickt wird, vermute ich, dass manche Java-Klassen nicht gefunden werden. Hast Du im Verzeichnis \JavaUtil\JavaMail auch wirklich alle benötigten JAR-Files (activation, imap, mail, mailapi, pop3, smtp) und die Klassen JavaMail.class bzw. JavaMailwithAttachment.class ? Rufst Du vor dem Senden das Programm STRMAIL auf, um den Classpath zu setzen ? Dann sollte es eigentlich funktionieren. Welche Java-Version (5722JV1) läuft auf Deiner Maschine ? Wie ist der Stand der Java-Gruppen-PTFs (SF99169) ?

Gruß,
KM

Fuerchau
27-08-04, 09:16
Kleine Anmerkung am Rande:
Wie steht die CCSID deines Job's ?

Das @-Zeichen ist je nach CCSID verschieden !

tomikra
27-08-04, 17:51
Hallo zusammen,

es sind alle Dateien an Ihrem Ort.
Die JVM ist 1.4
Die Gruppenptf sind auf dem STand 16

Ich rufe auch das STRMAIL zuerst auf.

Die CCSID ist 37. Ich glaub daran liegts!

Das @ zeichen ist ja im RPG-Programm normal ersichtlich.

Aber wie kann ich das @Zeichen auf den richtigen Wert ändern?

Gruß
tomikra

tomikra
27-08-04, 18:07
Nochmals Hallo,

ich hab jetzt die CCSID im Job auf 65535 eingestellt, und siehe da, es funktioniert :-))))

Frage: Muss ich die CCSID im Job ändern oder kann ich das @ Zeichein innerhalb des RPG Codes anderst darstellen, so dass ich den Job nicht ändern muss?

Vielen Dank.

Gruß
tomikra