|
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
}
|