dev@glassfish.java.net

WebService can't find JNI DLLs

From: Bhakti Mehta <Bhakti.Mehta_at_Sun.COM>
Date: Tue, 08 Jan 2008 15:19:11 -0800

Posting for a user who submitted this bug.
https://glassfish.dev.java.net/issues/show_bug.cgi?id=3987

Would system-classpath element of java-config in AS_HOME/domains/domain1/config/domain.xml help in this case?

gibsonw wrote
"I am prototyping a Java web service that uses the third party tool
NeticaJ. There is
a NeticaJ.jar that uses NeticaJ.dll that uses Netica.dll. To get this to
run,
one must put NeticaJ.jar on the classpath and put the directory
D:\MSIKE_LIBRARY containing the two dlls on the system PATH.

I have tried everything I can think of to configure the GlassFish server
JVM to
be able to find the dlls, such as setting NativeLibraryPathPrefix to
D:\MSIKE_LIBRARY, but the server still can't find the dlls.

I used NETBEANS 5.5 to deploy to glassfish that came bundled with
Netbeans on Win XP.
Of course I have D:\MSIKE_LIBRARY on the Windows path, but the GlassFish
server seems
to ignore that.

Please advise how to do this.

HERE IS THE Exception STACK TRACE

Log Entry Detail


Timestamp Jan 8, 2008 14:33:37.143
Log Level SEVERE
Logger com.sun.xml.ws.server.sei.EndpointMethodHandler
Name-Value Pairs _ThreadID=17;_ThreadName=httpSSLWorkerThread-8080-
2;_RequestID=11d7c2c9-2f47-47c4-a86b-2cc765d99d4d;
Record Number 1640
Message ID D
Complete Message \MSIKE_LIBRARY\NeticaJ.dll: Can't find dependent libraries
java.lang.UnsatisfiedLinkError: D:\MSIKE_LIBRARY\NeticaJ.dll: Can't find
dependent libraries at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751) at
java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676) at
java.lang.Runtime.loadLibrary0(Runtime.java:823) at java.lang.System.loadLibrary
(System.java:1030) at norsys.netica.NETICA.<clinit>(NETICA.java:255) at
norsys.netica.Environ.<init>(Environ.java:82) at
server.Inferencing.doInferencing(Inferencing.java:108) at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke
(Method.java:597) at com.sun.enterprise.webservice.InstanceResolverImpl$1.invoke
(InstanceResolverImpl.java:112) at com.sun.xml.ws.server.InvokerTube$2.invoke
(InvokerTube.java:146) at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke
(EndpointMethodHandler.java:257) at
com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595) at
com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554) at
com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539) at
com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436) at
com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process
(AbstractTubeImpl.java:106) at
com.sun.enterprise.webservice.MonitoringPipe.process(MonitoringPipe.java:147)
at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest
(PipeAdapter.java:115) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554) at
com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539) at
com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436) at
com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process
(AbstractTubeImpl.java:106) at
com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest
(CommonServerSecurityPipe.java:218) at
com.sun.enterprise.webservice.CommonServerSecurityPipe.process
(CommonServerSecurityPipe.java:129) at
com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595) at
com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554) at
com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539) at
com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436) at
com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243) at
com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle
(HttpAdapter.java:444) at com.sun.xml.ws.transport.http.HttpAdapter.handle
(HttpAdapter.java:244) at
com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle
(ServletAdapter.java:135) at com.sun.enterprise.webservice.JAXWSServlet.doPost
(JAXWSServlet.java:159) at javax.servlet.http.HttpServlet.service
(HttpServlet.java:738) at javax.servlet.http.HttpServlet.service
(HttpServlet.java:831) at
org.apache.catalina.core.ApplicationFilterChain.servletService
(ApplicationFilterChain.java:411) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:317) at
org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:198) at
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter
(MonitorFilter.java:390) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:230) at
org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:198) at
org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:288) at
org.apache.catalina.core.StandardContextValve.invokeInternal
(StandardContextValve.java:271) at
org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:202) at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke
(StandardPipeline.java:577) at com.sun.enterprise.web.WebPipeline.invoke
(WebPipeline.java:94) at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:206) at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke
(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:1080) at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:150) at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke
(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:1080) at org.apache.coyote.tomcat5.CoyoteAdapter.service
(CoyoteAdapter.java:270) at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter
(DefaultProcessorTask.java:637) at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess
(DefaultProcessorTask.java:568) at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process
(DefaultProcessorTask.java:813) at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask
(DefaultReadTask.java:339) at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask
(DefaultReadTask.java:261) at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask
(DefaultReadTask.java:212) at
com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask
(PortUnificationPipeline.java:361) at
com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265) at
com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run
(SSLWorkerThread.java:106)