From: Bharath T. <bh...@mv...> - 2005-10-07 17:51:21
|
I have been trying to integrate the jni wrapper application of Verisigns pfpro with my java app. When the app is deployed on apache I get the following exception . I see that the same app works fine in tomcat deployment(The app could be deployed on tomcat and apache without any modifications which gives us the flexibility to test both). The dlls exist in C:/Windows. Any idea? java.lang.UnsatisfiedLinkError: Native library pfprojni could not be found in java_require() path. at php.java.bridge.DynamicJavaBridgeClassLoader.resolveLibraryName(DynamicJ avaBridgeClassLoader.java:186) at php.java.bridge.DynamicJavaBridgeClassLoader$1$2.findLibrary(DynamicJava BridgeClassLoader.java:210) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1488) at java.lang.Runtime.loadLibrary0(Runtime.java:788) at java.lang.System.loadLibrary(System.java:834) at com.Verisign.payment.PFProAPI.<clinit>(PFProAPI.java:91) at com.apostek.subscription.Gateway.processTransaction(Gateway.java:115) at com.apostek.subscription.TransactionService.ProcessSale(TransactionServi ce.java:134) at com.apostek.subscription.SubscriptionService.createSubscription(Subscrip tionService.java:140) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav a:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor Impl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at php.java.bridge.JavaBridge.Invoke(JavaBridge.java:1137) at php.java.bridge.Request.handleRequest(Request.java:204) at php.java.bridge.Request.handleRequests(Request.java:221) at php.java.bridge.JavaBridge.run(JavaBridge.java:233) at php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:20) Here is the snippet of code that is causing the problem java_require("antlr-2.7.5H3.jar;apostek.jar;asm.jar;asm-attrs.jar;cglib- 2.1.jar;commons-collections-2.1.1.jar;commons-collections-3.1.jar;common s-dbcp-1.2.1.jar;commons-lang-2.0.jar;commons-logging-1.0.4.jar;commons- pool-1.2.jar;dom4j-full.jar;ehcache-1.1.jar;hibernate3.jar;imap.jar;Java Bridge.jar;jta.jar;log4j.jar;mailapi.jar;mysql-connector-java-3.1.10-bin .jar;pop3.jar;smtp.jar;Verisign.jar;file:///C:/windows;"); =20 print "adding the subscription"; try { $amt =3D 10.00; =09 $jcl_System =3D new JavaClass("java.lang.System"); $startDate =3D new java("java.sql.Date", $jcl_System->currentTimeMillis()); $endDate =3D new java("java.sql.Date", $jcl_System->currentTimeMillis()); $endDate->setYear($endDate->getYear()+1); =09 $jcl_sysController =3D new JavaClass("com.apostek.service.SysController"); $jobj_serviceManager =3D $jcl_sysController->getInstance(); $jobj_repository =3D $jobj_serviceManager->getRepository(); $jobj_subService =3D $jobj_serviceManager->getSubscriptionService(); =20 $jobj_repository->begin(new java("java.lang.Boolean", false)); =09 $jcl_txInitiator =3D new JavaClass("com.apostek.subscription.TransactionInitiator"); $result =3D $jobj_subService->createSubscription("bh...@xx...", new Java("java.lang.Float", $amt), $startDate, $endDate, $jcl_txInitiator->USER); $jobj_repository->commit(); =09 print $result->getMessage(); } catch(JavaException $ex) { =20 $jobj_stringWriter =3D new java("java.io.StringWriter"); $jobj_printWriter =3D new java("java.io.PrintWriter", $jobj_stringWriter); $ex->printStackTrace($jobj_printWriter); print ($jobj_stringWriter->toString()); =20 } =20 catch (Exception $e) { // most likely an exception from a third-party library $jobj_stringWriter =3D new java("java.io.StringWriter"); $jobj_printWriter =3D new java("java.io.PrintWriter", $jobj_stringWriter); $e->printStackTrace($jobj_printWriter); print ($jobj_stringWriter->toString()); =20 } |