Pessoal, boa tarde!
Estou com um problema para fazer um Applet carregar uma DLL (usando JNA).
Quando faço o teste no eclipse, funciona tudo ok, ele carrega as DLLs , executa tudo numa boa…
O problema é quando tento fazer o acesso via browser…
Já assinei os Jars (tanto o meu quanto o jna.jar), mas não funciona… o código está assim:
AccessController.doPrivileged(new PrivilegedAction() {
public Object run() {
try {
System.setProperty("jna.library.path","file:/C:/WINDOWS/SYSTEM32/");
PinPadLib lib = (PinPadLib) Native.loadLibrary("ppsetis", PinPadLib.class);
lib.PP_iOpen();
lib.PP_iDisplay("windows228");
lib.PP_iClose();
}
catch (Exception ex) {
System.out.println(ex.toString());
}
return null;
}
});
O erro ocorre bem na segunda linha de comando:
PinPadLib lib = (PinPadLib) Native.loadLibrary(“ppsetis”, PinPadLib.class);
Exception in thread “AWT-EventQueue-2” java.lang.UnsatisfiedLinkError: Library ‘jnidispatch’ was not found by class loader sun.misc.Launcher$ExtClassLoader@35ce36
at com.sun.jna.Native.getWebStartLibraryPath(Native.java:858 )
at com.sun.jna.NativeLibrary.(NativeLibrary.java:585)
at com.sun.jna.Library$Handler.(Library.java:140)
at com.sun.jna.Native.loadLibrary(Native.java:372)
at com.sun.jna.Native.loadLibrary(Native.java:357)
at PinpadAccess$1.run(PinpadAccess.java:84)
at java.security.AccessController.doPrivileged(Native Method)
at PinpadAccess.retornaString(PinpadAccess.java:74)
at PinpadAccess.paint(PinpadAccess.java:62)
at sun.awt.RepaintArea.paintComponent(Unknown Source)
at sun.awt.RepaintArea.paint(Unknown Source)
at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Eu acho que a assinatura do applet está ok, porque antes de assinar a primeira linha nao funcionava, depois de assinar ela funciona…
Os dois applets estao assinados, e a dll jnidispatch está dentro do jna.jar …
Alguem sabe o que pode estar acontecendo? Pode ser alguma configuracao especifica dentro do PolicyTools ???
Desde já, obrigado!!