Hi, I am trying to work with Inline::Java from within a Linux/nginx/fastcgi/Catalyst framework. I need to be able to interface to a PayPal .jar file, which is the only method of access I have to their "Hosted Checkout" credit card processing.
I have a perl module (.pm) that executes an Inline Java STUDY on the PayPal .jar file. I can access this module from a non-Catalyst perl program and everything works fine. However, if I try to execute this same module from within a Catalyst module, there is a problem and I don't know if this stems from something being done within Inline::Java's STUDY process or whether Catalyst is doing or missing something. Before going forward, I would like to add that I have been able to successfully use Catalyst together with Inline::Java where I have a simple class defined in a very simple .jar file. Works like a champ. I use a simple STUDY command: use Inline Java => 'STUDY', CLASSPATH => "/path/to/Greeter.jar", STUDY => [ Greeter ] ; So it's not as if there are incompatibilities between Catalyst and Inline::Java. The problem comes from the fact that the PayPal .jar file's methods are more complex than the simple methods used in my successful Catalyst-Inline::Java test. I declare the PayPal methods that I'm trying to use as follows: use Inline Java => 'STUDY', CLASSPATH => "/path/to/payflow.jar", STUDY => [ 'paypal.payflow.AuthorizationTransaction', 'paypal.payflow.BillTo', 'paypal.payflow.Currency', 'paypal.payflow.Invoice', 'paypal.payflow.PayflowConnectionData', etc. ]; The problem seems to be a namespace issue as I get the error message: ... (perhaps you forgot to load "paypal::payflow::Invoice"?) As I said, the multi-layered PayPal methods declaration works successfully when I execute it from a non-Catalyst perl program. But it seems as though Catalyst expects there to be separate sub-directories for each of the methods (given the use of the :: separators between paypal, payflow, and Invoice). Have I missed something with regard to how Inline::Java STUDY works when there is a multi-layered library? (Except it works okay outside of Catalyst, which, of course, may be purely accidental.) Thanks for any help. Tom