PDA

View Full Version : Dokument im QNTC ablegen mit anderen User



Seiten : [1] 2

max40
23-10-12, 11:47
Moin,
aus Spool-Dateien werden Dokumente erzeugt.
Diese Dokumente sollen über QNTC auf irgendwelchen Server abgelegt werden.
Das Problem ist dabei, dass der User vom Java-Job nicht die Berechtigungen auf diese Server hat.

Daher unser Gedanke: z.B. ein CL aufrufen (Parameter: SpoolUser, tmpPdfPfad, ZielQntcpPad)
Diese Job submittet sich dann auf den entsprechenden User, womit er dann ja die Berechtigungen haben sollte, um das Dokument auf den Server zu schieben.

1. stimmt die Theorie?
2. wie macht ihr ggf. sowas?

Danke + Gruß
Max

KM
24-10-12, 07:24
Hallo,

wir verwenden für solche Zwecke jCIFS. Du kannst damit einen Benutzer und Kennwort mitgeben, um Dich an dem jeweiligen Server anzumelden. Das könnte in etwa so aussehen:


Config.setProperty("jcifs.smb.client.username", user);
Config.setProperty("jcifs.smb.client.password", password);
SmbFile sfile = new SmbFile("smb://" + server + Pfad + File);
OutputStream outputstream = new SmbFileOutputStream(sfile);
...

Gruß,
KM

max40
24-10-12, 07:56
Moin.
Das Passwort haben wir nicht. Darum gehen wir über QNTC, da es beim Server und der AS400 die selben Anmeldedaten sind.

KM
24-10-12, 08:05
Aber irgendwie müsst Ihr Euch doch am Server anmelden???

Warum legt Ihr dann keinen Standard-Benutzer am Server an, über den Ihr aus diesen Java-Jobs die Dateien abspeichert? So machen wir das zumindest.

Gruß,
KM

max40
24-10-12, 08:17
wenn ich mich an der as400 anmelde kann ich doch per qntc auf die Windowsfreigabe zugreifen ohne das ich noch weitere Passwörter angeben muss. Daher der Gedanke, das ein Benutzer X ohne Berechtigungen einen Job auf einen Benutzer Y submittet der Berechtigungen hat um per QNTC auf die Windows-Freigabe zuzugreifen.

Wegen dem Standard-Benutzer: Das machen wir sonst eigentlich auch, aber in diesem Fall wollen wir das nicht unbedingt, weil wir sonst nicht die Berechtigunsstrukturen auf den Servern erhalten können.

mk
24-10-12, 08:38
Hallo,

nur mal so als Frage :

Warum benutzt ihr den Umweg über Java ?

Mit den CPY, MOV Befehlen kann man doch direkt
von dem System i auf das QNTC zugreifen.

Gruß
Michael

KM
24-10-12, 08:50
Ich vermute mal, dass der Java-Job die Spooldatei irgendwie in ein anderes Format konvertiert und dann abspeichern soll. Dann würde ich folgendes vorschlagen:

1. CL-Programm erstellen, das der Benutzer aufruft und das dem Java-Job z.B. via Dataqueue mitteilt welche Spooldatei verarbeitet werden soll.

2. CL-Programm wartet, bis die Spooldatei konvertiert wurde und vom Java-Job eine Rückmeldung via Dataqueue erhalten hat.

3. konvertierte Datei mittels CL-Befehl MOV auf den anderen Server verschieben.

Gruß,
KM

max40
24-10-12, 09:15
okay, also dann würde ich doch zu der Eingangs beschriebenden Methode tendieren und es mit einem Submit versuchen.

Danke euch.
Gruß
Max

BenderD
25-10-12, 08:09
... der submit hat allerdings zur Folge, dass jedesmal eine JVM hochgefahren werden muss, was Ressourcen und Zeit frisst. Eleganter wäre da schon ein Serverjob, der unter einem entsprechenden Benutzer läuft und asynchron angetriggert wird, was er zu tun hat...

D*B

max40
25-10-12, 11:58
hab mich ggf. falsch ausgedrückt. Ich wollte aus dem JVM heraus ein cl oder so aufrufen das sich dann auf den User vom Spoolfile submittet, der dann den cpy oder mov vom Dokument macht.