Domino 9 und frühere Versionen > ND9: Entwicklung
PS2PDF mit JavaAgent - IllegalArgumentException -Callback method is inaccessible
(1/1)
endiAN:
Hallo,
kennt jemand die Lösung für folgendes Problem:
Ein Java-Agent soll unter anderem aus einer PostScript-Datei eine PDF-Datei erzeugen. Dafür nutze ich Ghost4j. Hier der verwendete Code:
--- Code: ---public class JavaAgent extends AgentBase {
public void NotesMain() {
//get Ghostscript instance
Ghostscript gs = Ghostscript.getInstance();
System.out.println("nach Ghostscript gs = Ghostscript.getInstance();...");
//prepare Ghostscript interpreter parameters
//refer to Ghostscript documentation for parameter usage
String[] gsArgs = new String[10];
try {
gsArgs[0] = "-ps2pdf";
gsArgs[1] = "-dNOPAUSE";
gsArgs[2] = "-dBATCH";
gsArgs[3] = "-dSAFER";
gsArgs[4] = "-sDEVICE=pdfwrite";
gsArgs[5] = "-sOutputFile=c:\\reports\\input4.pdf";
gsArgs[6] = "-c";
gsArgs[7] = ".setpdfwrite";
gsArgs[8] = "-f";
gsArgs[9] = "c:\\reports\\input4.ps";//input file name
} catch(Exception e) {
e.printStackTrace();
System.out.println("ERROR: " + e.getMessage());
return;
}
//execute and exit interpreter
try {
System.out.println("vor gs.initialize(gsArgs);...");
gs.initialize(gsArgs);
System.out.println("nach gs.initialize(gsArgs);...");
gs.exit();
System.out.println("nach gs.exit();...");
}catch (GhostscriptException e) {
System.out.println("ERROR: " + e.getMessage());
return;
}
}
}
--- Ende Code ---
Auf meinem Entwicklungsrechner(Notes9.01) funktioniert es einwandfrei. Auf zwei weiteren Test-Rechnern(Note8.53 und Notes9.01) erhalte ich folgende Fehlermeldung:
--- Code: ---Exception in thread "AgentThread: JavaAgent" java.lang.IllegalArgumentException: Callback method is inaccessible, make sure the interface is public: public abstract int org.ghost4j.GhostscriptLibrary$stdout_fn.callback(com.sun.jna.Pointer,java.lang.String,int)
at com.sun.jna.CallbackReference$DefaultCallbackProxy.<init>(CallbackReference.java:367)
at com.sun.jna.CallbackReference.<init>(CallbackReference.java:143)
at com.sun.jna.CallbackReference.getFunctionPointer(CallbackReference.java:332)
at com.sun.jna.CallbackReference.getFunctionPointer(CallbackReference.java:314)
at com.sun.jna.Function.convertArgument(Function.java:496)
at com.sun.jna.Function.invoke(Function.java:258)
at com.sun.jna.Library$Handler.invoke(Library.java:216)
at $Proxy0.gsapi_set_stdio(Unknown Source)
at org.ghost4j.Ghostscript.initialize(Ghostscript.java:323)
at JavaAgent.NotesMain(JavaAgent.java:92)
at lotus.domino.AgentBase.runNotes(Unknown Source)
at lotus.domino.NotesThread.run(Unknown Source)
--- Ende Code ---
Ich kann mir den Fehler überhaupt nicht erklären. Bitte helft.
Danke im Voraus
Grüße
Andreas
Ralf_M_Petter:
Möglicherweise könnte folgender Blog Post eine Erklärung liefern. http://lekkimworld.com/2013/06/20/java_in_notes_domino_explained_on_java_security_and_how_it_relates_to_notes_domino.html
endiAN:
Hallo Ralf_M_Petter,
vielen Dank für den Link. Der hat genau ins Schwarze getroffen. Es geht. Wunderbares Gefühl, wenn der Schmerz nachlässt. Habe die java.policy vom Rechner, wo es geht, auf die Rechner kopiert, auf denen es nicht geht. Jetzt werde ich mal die Unterschiede suchen und schauen, wo hier der Haken ist. Wenn man erst einmal weiss, wo man suchen muß, ist das viel wert...
Unglaublich!!!
Nochmals Vielen Dank.
Beste Grüße
Andreas
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln