Re: New to Inline::Java and a quick question
(java.lang.String) | [perl][3] error trying to fit args to prototype: Wrong number of arguments at /usr sqlpj::sqlpjImpl::sqlsession[254]: cannot get a database connection: ABORT | [perl][3] matching arguments to getConnection(java.lang.String, java.lang.String, [perl][1] killed by natural death. | [perl][3] match successful: score is 6 the full error I get back from my eval is: [perl][3] perl doesn't know about 'org.apache.derby.jdbc.EmbeddedDriver' ('main::org::apache::derby::jdbc::EmbeddedDriver') [perl][2] creating object in java (main::org::apache::derby::jdbc::EmbeddedDriver): sqlpj::sqlpjImpl::sql_init_connection[738]: eval FAILED: Can't locate object method __validate_prototype via package JDBC at (eval 41) line 206, GEN8 line 5. sqlpj::sqlpjImpl::sqlsession[254]: cannot get a database connection: ABORT [perl][1] killed by natural death. [perl][1] JVM owner exiting... JDBC.pm is a pretty simple module that basically just maps java.sql.* classes into the JDBC namespace: our @ISA = qw(Exporter java::sql::DriverManager); { # the Inline package needs to be use'd in main in order to # get the studied classes to be rooted in main package main; use Inline ( Java = q{ }, AUTOSTUDY = 1, DEBUG = 4 ); } use Inline::Java qw(cast caught study_classes); our @EXPORT_OK = qw(cast caught study_classes); our $debug = $ENV{PERL_JDBC_DEBUG} || 0; #java.sql.ParameterMetaData my @classes = (qw( java.sql.Array java.sql.BatchUpdateException java.sql.Blob java.sql.CallableStatement ... )); warn studying classes\n if $debug; study_classes(\@classes, 'main'); Any ideas? Possible it is something to do with a namespace mismatch? Is __validate_prototype a symbol that is supposed to be injected by Inline::Java? -Russ P.S. I can get the Inline::Java module tests to pass as well, but not the JDBC tests. P.P.S. Error is not peculiar to Derby db, it happens with any driver I've tried. At 9:30 PM -0500 12/16/13, Patrick LeBoutillier wrote: Hi, I just ran the tests without issues on Fedora 17, Perl 5.14 and Java 1.7.0. There's really not much in Inline::Java that is dependant on the perl version. Patrick On Mon, Dec 16, 2013 at 9:08 PM, Russ Tremain mailto:ru...@releasetools.orgru...@releasetools.org wrote: Well, I'm using JDBC.pm to access the inline::Java stuff, and I could never get it to work with 5.8.9, and never got any response from Tim Bunce or Patrick, so I eventually gave up on it. It is possible that JDBC is doing something different, but I doubt it, as it is a very simple module. It basically does a lot of runtime studying in order to add all the java.sql classes to main:: to make it easier to call. Best you can do is to write some tests and try the later environment. I could not get the JDBC tests to run in a later env, and the tests have been broken on CPAN testers for a long time. -Russ At 4:40 PM -0800 12/16/13, David Wang wrote: Hi Russ So I got the Inline:Java including JAXB to work on my v5.8.8 perfectly . Then, I remember you mentioned that you never got it/Java to work on any Perl version later than 5.8.9 . Now, I am starting to worry since my deploy machine uses v5.10.0 . The Inline version I use is Inline-0.53 . Can someone confirm if this will or will not work on Perl version v5.10.0? Thanks David From: Russ Tremain mailto:ru...@releasetools.orgru...@releasetools.org To: David Wang mailto:kuoweiw...@yahoo.comkuoweiw...@yahoo.com Cc: David Mertens mailto:dcmertens.p...@gmail.comdcmertens.p...@gmail.com; mailto:inline@perl.orginline@perl.org mailto:inline@perl.orginline@perl.org Sent: Thursday, December 12, 2013 5:05 PM Subject: Re: New to Inline::Java and a quick question #yiv1198785418 #yiv1198785418 -- blockquote, #yiv1198785418 dl, #yiv1198785418 ul, #yiv1198785418 ol, #yiv1198785418 li {padding-top:0;padding-bottom:0;} #yiv1198785418 Re: New to Inline::Java and a quick question one thing I can tell you is I have never gotten Inline::Java to work with any perl later than 5.8.9. I have used it extensively with JDBC.pm. Example of this can be found here: https://github.com/russt/sqlpjhttps://github.com/russt/sqlpj best of luck! -Russ At 4:57 PM -0800 12/12/13, David Wang wrote: Thanks I am not sure if anybody has any experience with perl Inline::Java to call Java JAXB . Basically, I have added some code in my perl script to call some of my Java API that calls JAXB. System.out.println(before·); JAXBContext context = JAXBContext.newInstance(SomeXMLPackage); System.out.println(after·); and it fails on the JAXB statement above. I then added Debug and AUTOSTUDY option in perl like below use Inline ( Java = 'DATA', J2SDK = $ENV{JAVA_HOME}, CLASSPATH = 'classes
Re: New to Inline::Java and a quick question
/16/13, Patrick LeBoutillier wrote: Hi, I just ran the tests without issues on Fedora 17, Perl 5.14 and Java 1.7.0. There's really not much in Inline::Java that is dependant on the perl version. Patrick On Mon, Dec 16, 2013 at 9:08 PM, Russ Tremain ru...@releasetools.org wrote: Well, I'm using JDBC.pm to access the inline::Java stuff, and I could never get it to work with 5.8.9, and never got any response from Tim Bunce or Patrick, so I eventually gave up on it. It is possible that JDBC is doing something different, but I doubt it, as it is a very simple module. It basically does a lot of runtime studying in order to add all the java.sql classes to main:: to make it easier to call. Best you can do is to write some tests and try the later environment. I could not get the JDBC tests to run in a later env, and the tests have been broken on CPAN testers for a long time. -Russ At 4:40 PM -0800 12/16/13, David Wang wrote: Hi Russ So I got the Inline:Java including JAXB to work on my v5.8.8 perfectly . Then, I remember you mentioned that you never got it/Java to work on any Perl version later than 5.8.9 . Now, I am starting to worry since my deploy machine uses v5.10.0 . The Inline version I use is Inline-0.53 . Can someone confirm if this will or will not work on Perl version v5.10.0? Thanks David -- *From:* Russ Tremain ru...@releasetools.org *To:* David Wang kuoweiw...@yahoo.com *Cc:* David Mertens dcmertens.p...@gmail.com; inline@perl.org inline@perl.org *Sent:* Thursday, December 12, 2013 5:05 PM *Subject:* Re: New to Inline::Java and a quick question #yiv1198785418 #yiv1198785418 -- blockquote, #yiv1198785418 dl, #yiv1198785418 ul, #yiv1198785418 ol, #yiv1198785418 li {padding-top:0;padding-bottom:0;} #yiv1198785418 Re: New to Inline::Java and a quick question one thing I can tell you is I have never gotten Inline::Java to work with any perl later than 5.8.9. I have used it extensively with JDBC.pm. Example of this can be found here: https://github.com/russt/sqlpj best of luck! -Russ At 4:57 PM -0800 12/12/13, David Wang wrote: Thanks I am not sure if anybody has any experience with perl Inline::Java to call Java JAXB . Basically, I have added some code in my perl script to call some of my Java API that calls JAXB. System.out.println(before·); JAXBContext context = JAXBContext.newInstance(SomeXMLPackage); System.out.println(after·); and it fails on the JAXB statement above. I then added Debug and AUTOSTUDY option in perl like below use Inline ( Java = 'DATA', J2SDK = $ENV{JAVA_HOME}, CLASSPATH = 'classes', AUTOSTUDY = 1, DEBUG = 4, ); then I see [java][3] packet sent is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] packet recv is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] checking if stub is array... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][2] autostudying javax.xml.bind.JAXBException... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][3] reporting on javax.xml.bind.JAXBException I hope perl inline works with JAXB . BTW, my Java API works fine meaning I use a Java main to call this API and the xml file is loaded without problem. thanks, David -- *From:* David Mertens dcmertens.p...@gmail.com *To:* David Wang kuoweiw...@yahoo.com *Cc:* inline@perl.org inline@perl.org *Sent:* Thursday, December 12, 2013 5:37 AM *Subject:* Re: New to Inline::Java and a quick question Yep, as a rule, if you need to install a Perl module, a simple cpan Module::Name should do it. If you are on a Unixish system, you may have installation permission issues, in which case there are known work-arounds. But I'm sure you'll ask when you come to those. :-) Good luck, and don't be afraid to ask more questions as they come up! David On Wed, Dec 11, 2013 at 7:38 PM, David Wang kuoweiw...@yahoo.com wrote: Ok, I figured it out. Hope it can be documented somewhere. Download Inline-0.53 go to the dir cpan Inline::Java was instructed by some nice guy Thanks David -- *From:* David Wang kuoweiw...@yahoo.com *To:* inline@perl.org inline@perl.org *Sent:* Wednesday, December 11, 2013 4:25 PM *Subject:* New to Inline::Java and a quick question Hi I am very new to this stuff, just started to hear about it today. I looked around the web and I find the installation instructions for inline::c like the following perl Makefile.PL; make; make test; make install; But I can't find anywhere else that tells us how to install inline::Java ? BTW, I found the latest Inline is Inline-0.53.tar.gz and I use Redhat 5 Thanks David
Re: New to Inline::Java and a quick question
, December 12, 2013 5:05 PM Subject: Re: New to Inline::Java and a quick question #yiv1198785418 #yiv1198785418 -- blockquote, #yiv1198785418 dl, #yiv1198785418 ul, #yiv1198785418 ol, #yiv1198785418 li {padding-top:0;padding-bottom:0;} #yiv1198785418 Re: New to Inline::Java and a quick question one thing I can tell you is I have never gotten Inline::Java to work with any perl later than 5.8.9. I have used it extensively with JDBC.pm. Example of this can be found here: https://github.com/russt/sqlpjhttps://github.com/russt/sqlpj best of luck! -Russ At 4:57 PM -0800 12/12/13, David Wang wrote: Thanks I am not sure if anybody has any experience with perl Inline::Java to call Java JAXB . Basically, I have added some code in my perl script to call some of my Java API that calls JAXB. System.out.println(before·); JAXBContext context = JAXBContext.newInstance(SomeXMLPackage); System.out.println(after·); and it fails on the JAXB statement above. I then added Debug and AUTOSTUDY option in perl like below use Inline ( Java = 'DATA', J2SDK = $ENV{JAVA_HOME}, CLASSPATH = 'classes', AUTOSTUDY = 1, DEBUG = 4, ); then I see [java][3] packet sent is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] packet recv is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] checking if stub is array... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][2] autostudying javax.xml.bind.JAXBException... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][3] reporting on javax.xml.bind.JAXBException I hope perl inline works with JAXB . BTW, my Java API works fine meaning I use a Java main to call this API and the xml file is loaded without problem. thanks, David From: David Mertens mailto:dcmertens.p...@gmail.comdcmertens.p...@gmail.com To: David Wang mailto:kuoweiw...@yahoo.comkuoweiw...@yahoo.com Cc: mailto:inline@perl.orginline@perl.org mailto:inline@perl.orginline@perl.org Sent: Thursday, December 12, 2013 5:37 AM Subject: Re: New to Inline::Java and a quick question Yep, as a rule, if you need to install a Perl module, a simple cpan Module::Name should do it. If you are on a Unixish system, you may have installation permission issues, in which case there are known work-arounds. But I'm sure you'll ask when you come to those. :-) Good luck, and don't be afraid to ask more questions as they come up! David On Wed, Dec 11, 2013 at 7:38 PM, David Wang mailto:kuoweiw...@yahoo.comkuoweiw...@yahoo.com wrote: Ok, I figured it out. Hope it can be documented somewhere. Download Inline-0.53 go to the dir cpan Inline::Java was instructed by some nice guy Thanks David From: David Wang mailto:kuoweiw...@yahoo.comkuoweiw...@yahoo.com To: mailto:inline@perl.orginline@perl.org mailto:inline@perl.orginline@perl.org Sent: Wednesday, December 11, 2013 4:25 PM Subject: New to Inline::Java and a quick question Hi I am very new to this stuff, just started to hear about it today. I looked around the web and I find the installation instructions for inline::c like the following perl Makefile.PL; make; make test; make install; But I can't find anywhere else that tells us how to install inline::Java ? BTW, I found the latest Inline is Inline-0.53.tar.gz and I use Redhat 5 Thanks David -- Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian Kernighan -- = Patrick LeBoutillier Rosemère, Québec, Canada
Re: New to Inline::Java and a quick question
Thanks for the great responses. I am glad it is not as dependent as I thought. From: Patrick LeBoutillier patrick.leboutill...@gmail.com To: Russ Tremain ru...@releasetools.org Cc: David Wang kuoweiw...@yahoo.com; inline@perl.org inline@perl.org Sent: Monday, December 16, 2013 6:30 PM Subject: Re: New to Inline::Java and a quick question Hi, I just ran the tests without issues on Fedora 17, Perl 5.14 and Java 1.7.0. There's really not much in Inline::Java that is dependant on the perl version. Patrick On Mon, Dec 16, 2013 at 9:08 PM, Russ Tremain ru...@releasetools.org wrote: Well, I'm using JDBC.pm to access the inline::Java stuff, and I could never get it to work with 5.8.9, and never got any response from Tim Bunce or Patrick, so I eventually gave up on it. It is possible that JDBC is doing something different, but I doubt it, as it is a very simple module. It basically does a lot of runtime studying in order to add all the java.sql classes to main:: to make it easier to call. Best you can do is to write some tests and try the later environment. I could not get the JDBC tests to run in a later env, and the tests have been broken on CPAN testers for a long time. -Russ At 4:40 PM -0800 12/16/13, David Wang wrote: Hi Russ So I got the Inline:Java including JAXB to work on my v5.8.8 perfectly . Then, I remember you mentioned that you never got it/Java to work on any Perl version later than 5.8.9 . Now, I am starting to worry since my deploy machine uses v5.10.0 . The Inline version I use is Inline-0.53 . Can someone confirm if this will or will not work on Perl version v5.10.0? Thanks David From: Russ Tremain ru...@releasetools.org To: David Wang kuoweiw...@yahoo.com Cc: David Mertens dcmertens.p...@gmail.com; inline@perl.org inline@perl.org Sent: Thursday, December 12, 2013 5:05 PM Subject: Re: New to Inline::Java and a quick question #yiv1198785418 #yiv1198785418 -- blockquote, #yiv1198785418 dl, #yiv1198785418 ul, #yiv1198785418 ol, #yiv1198785418 li {padding-top:0;padding-bottom:0;} #yiv1198785418 Re: New to Inline::Java and a quick question one thing I can tell you is I have never gotten Inline::Java to work with any perl later than 5.8.9. I have used it extensively with JDBC.pm. Example of this can be found here: https://github.com/russt/sqlpj best of luck! -Russ At 4:57 PM -0800 12/12/13, David Wang wrote: Thanks I am not sure if anybody has any experience with perl Inline::Java to call Java JAXB . Basically, I have added some code in my perl script to call some of my Java API that calls JAXB. System.out.println(before·); JAXBContext context = JAXBContext.newInstance(SomeXMLPackage); System.out.println(after·); and it fails on the JAXB statement above. I then added Debug and AUTOSTUDY option in perl like below use Inline ( Java = 'DATA', J2SDK = $ENV{JAVA_HOME}, CLASSPATH = 'classes', AUTOSTUDY = 1, DEBUG = 4, ); then I see [java][3] packet sent is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] packet recv is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] checking if stub is array... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][2] autostudying javax.xml.bind.JAXBException... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][3] reporting on javax.xml.bind.JAXBException I hope perl inline works with JAXB . BTW, my Java API works fine meaning I use a Java main to call this API and the xml file is loaded without problem. thanks, David From: David Mertens dcmertens.p...@gmail.com To: David Wang kuoweiw...@yahoo.com Cc: inline@perl.org inline@perl.org Sent: Thursday, December 12, 2013 5:37 AM Subject: Re: New to Inline::Java and a quick question Yep, as a rule, if you need to install a Perl module, a simple cpan Module::Name should do it. If you are on a Unixish system, you may have installation permission issues, in which case there are known work-arounds. But I'm sure you'll ask when you come to those. :-) Good luck, and don't be afraid to ask more questions as they come up! David On Wed, Dec 11, 2013 at 7:38 PM, David Wang kuoweiw...@yahoo.com wrote: Ok, I figured it out. Hope it can be documented somewhere. Download Inline-0.53 go to the dir cpan Inline::Java was instructed by some nice guy Thanks David From: David Wang kuoweiw...@yahoo.com To: inline@perl.org inline@perl.org Sent: Wednesday, December 11, 2013 4:25 PM Subject: New to Inline::Java and a quick question Hi I am very new to this stuff, just started to hear about it today. I looked around the web and I find the installation instructions for inline::c like the following
Re: New to Inline::Java and a quick question
Hi Russ So I got the Inline:Java including JAXB to work on my v5.8.8 perfectly . Then, I remember you mentioned that you never got it/Java to work on any Perl version later than 5.8.9 . Now, I am starting to worry since my deploy machine uses v5.10.0 . The Inline version I use is Inline-0.53 . Can someone confirm if this will or will not work on Perl version v5.10.0? Thanks David From: Russ Tremain ru...@releasetools.org To: David Wang kuoweiw...@yahoo.com Cc: David Mertens dcmertens.p...@gmail.com; inline@perl.org inline@perl.org Sent: Thursday, December 12, 2013 5:05 PM Subject: Re: New to Inline::Java and a quick question Re: New to Inline::Java and a quick question one thing I can tell you is I have never gotten Inline::Java to work with any perl later than 5.8.9. I have used it extensively with JDBC.pm. Example of this can be found here: https://github.com/russt/sqlpj best of luck! -Russ At 4:57 PM -0800 12/12/13, David Wang wrote: Thanks I am not sure if anybody has any experience with perl Inline::Java to call Java JAXB . Basically, I have added some code in my perl script to call some of my Java API that calls JAXB. System.out.println(beforeŠ); JAXBContext context = JAXBContext.newInstance(SomeXMLPackage); System.out.println(afterŠ); and it fails on the JAXB statement above. I then added Debug and AUTOSTUDY option in perl like below use Inline ( Java = 'DATA', J2SDK = $ENV{JAVA_HOME}, CLASSPATH = 'classes', AUTOSTUDY = 1, DEBUG = 4, ); then I see [java][3] packet sent is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] packet recv is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] checking if stub is array... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][2] autostudying javax.xml.bind.JAXBException... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][3] reporting on javax.xml.bind.JAXBException I hope perl inline works with JAXB . BTW, my Java API works fine meaning I use a Java main to call this API and the xml file is loaded without problem. thanks, David From: David Mertens dcmertens.p...@gmail.com To: David Wang kuoweiw...@yahoo.com Cc: inline@perl.org inline@perl.org Sent: Thursday, December 12, 2013 5:37 AM Subject: Re: New to Inline::Java and a quick question Yep, as a rule, if you need to install a Perl module, a simple cpan Module::Name should do it. If you are on a Unixish system, you may have installation permission issues, in which case there are known work-arounds. But I'm sure you'll ask when you come to those. :-) Good luck, and don't be afraid to ask more questions as they come up! David On Wed, Dec 11, 2013 at 7:38 PM, David Wang kuoweiw...@yahoo.com wrote: Ok, I figured it out. Hope it can be documented somewhere. Download Inline-0.53 go to the dir cpan Inline::Java was instructed by some nice guy Thanks David From: David Wang kuoweiw...@yahoo.com To: inline@perl.org inline@perl.org Sent: Wednesday, December 11, 2013 4:25 PM Subject: New to Inline::Java and a quick question Hi I am very new to this stuff, just started to hear about it today. I looked around the web and I find the installation instructions for inline::c like the following perl Makefile.PL; make; make test; make install; But I can't find anywhere else that tells us how to install inline::Java ? BTW, I found the latest Inline is Inline-0.53.tar.gz and I use Redhat 5 Thanks David -- Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian Kernighan
Re: New to Inline::Java and a quick question
Well, I'm using JDBC.pm to access the inline::Java stuff, and I could never get it to work with 5.8.9, and never got any response from Tim Bunce or Patrick, so I eventually gave up on it. It is possible that JDBC is doing something different, but I doubt it, as it is a very simple module. It basically does a lot of runtime studying in order to add all the java.sql classes to main:: to make it easier to call. Best you can do is to write some tests and try the later environment. I could not get the JDBC tests to run in a later env, and the tests have been broken on CPAN testers for a long time. -Russ At 4:40 PM -0800 12/16/13, David Wang wrote: Hi Russ So I got the Inline:Java including JAXB to work on my v5.8.8 perfectly . Then, I remember you mentioned that you never got it/Java to work on any Perl version later than 5.8.9 . Now, I am starting to worry since my deploy machine uses v5.10.0 . The Inline version I use is Inline-0.53 . Can someone confirm if this will or will not work on Perl version v5.10.0? Thanks David From: Russ Tremain ru...@releasetools.org To: David Wang kuoweiw...@yahoo.com Cc: David Mertens dcmertens.p...@gmail.com; inline@perl.org inline@perl.org Sent: Thursday, December 12, 2013 5:05 PM Subject: Re: New to Inline::Java and a quick question #yiv1198785418 #yiv1198785418 -- blockquote, #yiv1198785418 dl, #yiv1198785418 ul, #yiv1198785418 ol, #yiv1198785418 li {padding-top:0;padding-bottom:0;} #yiv1198785418 Re: New to Inline::Java and a quick question one thing I can tell you is I have never gotten Inline::Java to work with any perl later than 5.8.9. I have used it extensively with JDBC.pm. Example of this can be found here: https://github.com/russt/sqlpj best of luck! -Russ At 4:57 PM -0800 12/12/13, David Wang wrote: Thanks I am not sure if anybody has any experience with perl Inline::Java to call Java JAXB . Basically, I have added some code in my perl script to call some of my Java API that calls JAXB. System.out.println(before·); JAXBContext context = JAXBContext.newInstance(SomeXMLPackage); System.out.println(after·); and it fails on the JAXB statement above. I then added Debug and AUTOSTUDY option in perl like below use Inline ( Java = 'DATA', J2SDK = $ENV{JAVA_HOME}, CLASSPATH = 'classes', AUTOSTUDY = 1, DEBUG = 4, ); then I see [java][3] packet sent is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] packet recv is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] checking if stub is array... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][2] autostudying javax.xml.bind.JAXBException... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][3] reporting on javax.xml.bind.JAXBException I hope perl inline works with JAXB . BTW, my Java API works fine meaning I use a Java main to call this API and the xml file is loaded without problem. thanks, David From: David Mertens dcmertens.p...@gmail.com To: David Wang kuoweiw...@yahoo.com Cc: inline@perl.org inline@perl.org Sent: Thursday, December 12, 2013 5:37 AM Subject: Re: New to Inline::Java and a quick question Yep, as a rule, if you need to install a Perl module, a simple cpan Module::Name should do it. If you are on a Unixish system, you may have installation permission issues, in which case there are known work-arounds. But I'm sure you'll ask when you come to those. :-) Good luck, and don't be afraid to ask more questions as they come up! David On Wed, Dec 11, 2013 at 7:38 PM, David Wang mailto:kuoweiw...@yahoo.comkuoweiw...@yahoo.com wrote: Ok, I figured it out. Hope it can be documented somewhere. Download Inline-0.53 go to the dir cpan Inline::Java was instructed by some nice guy Thanks David From: David Wang mailto:kuoweiw...@yahoo.comkuoweiw...@yahoo.com To: mailto:inline@perl.orginline@perl.org mailto:inline@perl.orginline@perl.org Sent: Wednesday, December 11, 2013 4:25 PM Subject: New to Inline::Java and a quick question Hi I am very new to this stuff, just started to hear about it today. I looked around the web and I find the installation instructions for inline::c like the following perl Makefile.PL; make; make test; make install; But I can't find anywhere else that tells us how to install inline::Java ? BTW, I found the latest Inline is Inline-0.53.tar.gz and I use Redhat 5 Thanks David -- Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian Kernighan
Re: New to Inline::Java and a quick question
Hi, I just ran the tests without issues on Fedora 17, Perl 5.14 and Java 1.7.0. There's really not much in Inline::Java that is dependant on the perl version. Patrick On Mon, Dec 16, 2013 at 9:08 PM, Russ Tremain ru...@releasetools.orgwrote: Well, I'm using JDBC.pm to access the inline::Java stuff, and I could never get it to work with 5.8.9, and never got any response from Tim Bunce or Patrick, so I eventually gave up on it. It is possible that JDBC is doing something different, but I doubt it, as it is a very simple module. It basically does a lot of runtime studying in order to add all the java.sql classes to main:: to make it easier to call. Best you can do is to write some tests and try the later environment. I could not get the JDBC tests to run in a later env, and the tests have been broken on CPAN testers for a long time. -Russ At 4:40 PM -0800 12/16/13, David Wang wrote: Hi Russ So I got the Inline:Java including JAXB to work on my v5.8.8 perfectly . Then, I remember you mentioned that you never got it/Java to work on any Perl version later than 5.8.9 . Now, I am starting to worry since my deploy machine uses v5.10.0 . The Inline version I use is Inline-0.53 . Can someone confirm if this will or will not work on Perl version v5.10.0? Thanks David -- *From:* Russ Tremain ru...@releasetools.org *To:* David Wang kuoweiw...@yahoo.com *Cc:* David Mertens dcmertens.p...@gmail.com; inline@perl.org inline@perl.org *Sent:* Thursday, December 12, 2013 5:05 PM *Subject:* Re: New to Inline::Java and a quick question #yiv1198785418 #yiv1198785418 -- blockquote, #yiv1198785418 dl, #yiv1198785418 ul, #yiv1198785418 ol, #yiv1198785418 li {padding-top:0;padding-bottom:0;} #yiv1198785418 Re: New to Inline::Java and a quick question one thing I can tell you is I have never gotten Inline::Java to work with any perl later than 5.8.9. I have used it extensively with JDBC.pm. Example of this can be found here: https://github.com/russt/sqlpj best of luck! -Russ At 4:57 PM -0800 12/12/13, David Wang wrote: Thanks I am not sure if anybody has any experience with perl Inline::Java to call Java JAXB . Basically, I have added some code in my perl script to call some of my Java API that calls JAXB. System.out.println(before·); JAXBContext context = JAXBContext.newInstance(SomeXMLPackage); System.out.println(after·); and it fails on the JAXB statement above. I then added Debug and AUTOSTUDY option in perl like below use Inline ( Java = 'DATA', J2SDK = $ENV{JAVA_HOME}, CLASSPATH = 'classes', AUTOSTUDY = 1, DEBUG = 4, ); then I see [java][3] packet sent is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] packet recv is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] checking if stub is array... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][2] autostudying javax.xml.bind.JAXBException... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][3] reporting on javax.xml.bind.JAXBException I hope perl inline works with JAXB . BTW, my Java API works fine meaning I use a Java main to call this API and the xml file is loaded without problem. thanks, David -- *From:* David Mertens dcmertens.p...@gmail.com *To:* David Wang kuoweiw...@yahoo.com *Cc:* inline@perl.org inline@perl.org *Sent:* Thursday, December 12, 2013 5:37 AM *Subject:* Re: New to Inline::Java and a quick question Yep, as a rule, if you need to install a Perl module, a simple cpan Module::Name should do it. If you are on a Unixish system, you may have installation permission issues, in which case there are known work-arounds. But I'm sure you'll ask when you come to those. :-) Good luck, and don't be afraid to ask more questions as they come up! David On Wed, Dec 11, 2013 at 7:38 PM, David Wang kuoweiw...@yahoo.com wrote: Ok, I figured it out. Hope it can be documented somewhere. Download Inline-0.53 go to the dir cpan Inline::Java was instructed by some nice guy Thanks David -- *From:* David Wang kuoweiw...@yahoo.com *To:* inline@perl.org inline@perl.org *Sent:* Wednesday, December 11, 2013 4:25 PM *Subject:* New to Inline::Java and a quick question Hi I am very new to this stuff, just started to hear about it today. I looked around the web and I find the installation instructions for inline::c like the following perl Makefile.PL; make; make test; make install; But I can't find anywhere else that tells us how to install inline::Java ? BTW, I found the latest Inline is Inline-0.53.tar.gz and I use Redhat 5 Thanks David -- Debugging is twice as hard as writing the code
Re: New to Inline::Java and a quick question
Hi, If I run this: use strict ; use Inline ( Java = 'DATA', DEBUG = 0, AUTOSTUDY = 1, ); my $t = new MyJAXB() ; __DATA__ __Java__ import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.math.BigInteger; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Unmarshaller; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; import java.util.*; public class MyJAXB { public MyJAXB() throws javax.xml.bind.JAXBException, FileNotFoundException, SAXException { System.out.println(checkpoint1); JAXBContext context = JAXBContext.newInstance(com.example.foo:com.example.bar); System.out.println(checkpoint2); } } I get this: checkpoint1 Unexpected exception of type 'javax.xml.bind.JAXBException': com.example.foo doesnt contain ObjectFactory.class or jaxb.index at /usr/local/lib64/perl5/site_perl/5.10.0/x86_64-linux-thread-multi/Inline/Java/Object.pm line 49 at t.pl line 10 at t.pl line 10 Don't know enough about JAXB to continue... Patrick On Fri, Dec 13, 2013 at 2:06 AM, David Wang kuoweiw...@yahoo.com wrote: Hi Russ Thanks. Pls do the following In your perlAPI.pm add the following (in the same file). == perl script calls eval {$self-{CONNECTION} = new perlAPI::MyJAXB();}; == The following is the Java JAXB stuff __DATA__ __Java__ import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.math.BigInteger; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Unmarshaller; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; import java.util.*; public class MyJAXB { public MyJAXB() throws javax.xml.bind.JAXBException, FileNotFoundException, SAXException { System.out.println(checkpoint1); JAXBContext context = JAXBContext.newInstance(com.example.foo:com.example.bar); System.out.println(checkpoint2); } } checkpoint2 will never be reached. If you do the DEBUG =4, you will see the error [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') use Inline ( Java = 'DATA', J2SDK = $ENV{JAVA_HOME}, CLASSPATH = 'classes', DEBUG = 4, ); Pls let me know how it goes. I really hope its something I did wrong meaning it works on your end. -- *From:* Russ Tremain ru...@releasetools.org *To:* David Wang kuoweiw...@yahoo.com *Cc:* inline@perl.org inline@perl.org *Sent:* Thursday, December 12, 2013 7:32 PM *Subject:* Re: New to Inline::Java and a quick question can you publish your full example? I can try it my environment to see if it works for me. Also, when you installed inline::Java, did it pass all the tests? At 5:18 PM -0800 12/12/13, David Wang wrote: Thanks. my perl version is v5.8.8 . It works with Java fine. Just not with JAXB at this current moment. -- *From:* Russ Tremain ru...@releasetools.org *To:* David Wang kuoweiw...@yahoo.com *Cc:* David Mertens dcmertens.p...@gmail.com; inline@perl.org inline@perl.org *Sent:* Thursday, December 12, 2013 5:05 PM *Subject:* Re: New to Inline::Java and a quick question #yiv3571647833 #yiv3571647833 -- blockquote, #yiv3571647833 dl, #yiv3571647833 ul, #yiv3571647833 ol, #yiv3571647833 li {padding-top:0;padding-bottom:0;} #yiv3571647833 Re: New to Inline::Java and a quick question one thing I can tell you is I have never gotten Inline::Java to work with any perl later than 5.8.9. I have used it extensively with JDBC.pm. Example of this can be found here: https://github.com/russt/sqlpj best of luck! -Russ At 4:57 PM -0800 12/12/13, David Wang wrote: Thanks I am not sure if anybody has any experience with perl Inline::Java to call Java JAXB . Basically, I have added some code in my perl script to call some of my Java API that calls JAXB. System.out.println(before·); JAXBContext context = JAXBContext.newInstance(SomeXMLPackage); System.out.println(after·); and it fails on the JAXB statement above. I then added Debug and AUTOSTUDY option in perl like below use Inline ( Java = 'DATA', J2SDK = $ENV{JAVA_HOME}, CLASSPATH = 'classes', AUTOSTUDY = 1, DEBUG = 4, ); then I see [java][3] packet sent
Re: New to Inline::Java and a quick question
Absolutely. Thanks a lot for the help and sorry for the spam again. From: Russ Tremain ru...@releasetools.org To: David Wang kuoweiw...@yahoo.com Cc: Patrick LeBoutillier patrick.leboutill...@gmail.com; inline@perl.org inline@perl.org Sent: Friday, December 13, 2013 12:29 PM Subject: Re: New to Inline::Java and a quick question Re: New to Inline::Java and a quick question you should also always check for exceptions as per my previousl example. i.e., in your perlAPI.pm: sub new { my $self = {}; bless($self, $class); eval { $self-{CONNECTION} = new perlAPI::MyJAXB(); }; if ($@){ if (Inline::Java::caught(java.lang.Exception)) { my $msg = $@-getMessage() ; printf PERL CAUGHT java exception: '%s'\n, $msg; } else{ #unexpected Inline::Java exception: printf PERL CAUGHT UNEXPECTED EXCEPTION: '%s'\n, $@; } return undef; } return $self; } your current code is ignoring the exception silently. Maybe Patrick can help on why Inline::Java is not catching the java exception, but at any rate, the error from eval is the same as the one from java. -Russ At 12:12 PM -0800 12/13/13, David Wang wrote: Hi Sorry for the spam. I found the solution. In Perl, we need to add the class loader, can't use the default one. Therefore, to make the long story short, the code where is called in perlAPI.pm should look like the following. ClassLoader cl = sample.ObjectFactory.class.getClassLoader(); System.out.println( checkpoint1); JAXBContext context = JAXBContext.newInstance(sample, cl); System.out.println(==checkpoint2); From: David Wang kuoweiw...@yahoo.com To: Patrick LeBoutillier patrick.leboutill...@gmail.com Cc: Russ Tremain ru...@releasetools.org; inline@perl.org inline@perl.org Sent: Friday, December 13, 2013 11:28 AM Subject: Re: New to Inline::Java and a quick question Hi Patrick and the rest I made a very simple example. This example shows how a Main.java calls the JAXB stuff and the same calls in Perl script failed. Once you download the file, untar, to compile and run in Java, you do javac -d classes Main.java java -cp .:classes Main To run in perl perl main.pl You will see that the following line always fails in perl . JAXBContext context = JAXBContext.newInstance(sample); JAXB is a very powerful utility in Java that saves lots of coding to parse XML (you basically don't need to write any code to parse, its all done automatically). I have way too many existing perl scripts that can take the advantage of JAXB if this would work. Thanks for your help. David From: Patrick LeBoutillier patrick.leboutill...@gmail.com To: David Wang kuoweiw...@yahoo.com Cc: Russ Tremain ru...@releasetools.org; inline@perl.org inline@perl.org Sent: Friday, December 13, 2013 3:45 AM Subject: Re: New to Inline::Java and a quick question Hi, If I run this: use strict ; use Inline ( Java = 'DATA', DEBUG = 0, AUTOSTUDY = 1, ); my $t = new MyJAXB() ; __DATA__ __Java__ import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.math.BigInteger; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Unmarshaller; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; import java.util.*; public class MyJAXB { public MyJAXB() throws javax.xml.bind.JAXBException, FileNotFoundException, SAXException { System.out.println(checkpoint1); JAXBContext context = JAXBContext.newInstance(com.example.foo:com.example.bar); System.out.println(checkpoint2); } } I get this: checkpoint1 Unexpected exception of type 'javax.xml.bind.JAXBException': com.example.foo doesnt contain ObjectFactory.class or jaxb.index at /usr/local/lib64/perl5/site_perl/5.10.0/x86_64-linux-thread-multi/Inline/Java/Object.pm line 49 at t.pl line 10 at t.pl line 10 Don't know enough about JAXB to continue... Patrick On Fri, Dec 13, 2013 at 2:06 AM, David Wang kuoweiw...@yahoo.com wrote: Hi Russ Thanks. Pls do the following In your perlAPI.pm add the following (in the same file). == perl script calls eval {$self-{CONNECTION} = new perlAPI::MyJAXB();}; == The following is the Java JAXB stuff __DATA__ __Java__ import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.math.BigInteger; import
Re: New to Inline::Java and a quick question
Yep, as a rule, if you need to install a Perl module, a simple cpan Module::Name should do it. If you are on a Unixish system, you may have installation permission issues, in which case there are known work-arounds. But I'm sure you'll ask when you come to those. :-) Good luck, and don't be afraid to ask more questions as they come up! David On Wed, Dec 11, 2013 at 7:38 PM, David Wang kuoweiw...@yahoo.com wrote: Ok, I figured it out. Hope it can be documented somewhere. Download Inline-0.53 go to the dir cpan Inline::Java was instructed by some nice guy Thanks David -- *From:* David Wang kuoweiw...@yahoo.com *To:* inline@perl.org inline@perl.org *Sent:* Wednesday, December 11, 2013 4:25 PM *Subject:* New to Inline::Java and a quick question Hi I am very new to this stuff, just started to hear about it today. I looked around the web and I find the installation instructions for inline::c like the following perl Makefile.PL; make; make test; make install; But I can't find anywhere else that tells us how to install inline::Java ? BTW, I found the latest Inline is Inline-0.53.tar.gz and I use Redhat 5 Thanks David -- Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian Kernighan
Re: New to Inline::Java and a quick question
Thanks I am not sure if anybody has any experience with perl Inline::Java to call Java JAXB . Basically, I have added some code in my perl script to call some of my Java API that calls JAXB. System.out.println(“before…”); JAXBContext context = JAXBContext.newInstance(SomeXMLPackage); System.out.println(“after…”); and it fails on the JAXB statement above. I then added Debug and AUTOSTUDY option in perl like below use Inline ( Java = 'DATA', J2SDK = $ENV{JAVA_HOME}, CLASSPATH = 'classes', AUTOSTUDY = 1, DEBUG = 4, ); then I see [java][3] packet sent is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] packet recv is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] checking if stub is array... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][2] autostudying javax.xml.bind.JAXBException... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][3] reporting on javax.xml.bind.JAXBException I hope perl inline works with JAXB . BTW, my Java API works fine meaning I use a Java main to call this API and the xml file is loaded without problem. thanks, David From: David Mertens dcmertens.p...@gmail.com To: David Wang kuoweiw...@yahoo.com Cc: inline@perl.org inline@perl.org Sent: Thursday, December 12, 2013 5:37 AM Subject: Re: New to Inline::Java and a quick question Yep, as a rule, if you need to install a Perl module, a simple cpan Module::Name should do it. If you are on a Unixish system, you may have installation permission issues, in which case there are known work-arounds. But I'm sure you'll ask when you come to those. :-) Good luck, and don't be afraid to ask more questions as they come up! David On Wed, Dec 11, 2013 at 7:38 PM, David Wang kuoweiw...@yahoo.com wrote: Ok, I figured it out. Hope it can be documented somewhere. Download Inline-0.53 go to the dir cpan Inline::Java was instructed by some nice guy Thanks David From: David Wang kuoweiw...@yahoo.com To: inline@perl.org inline@perl.org Sent: Wednesday, December 11, 2013 4:25 PM Subject: New to Inline::Java and a quick question Hi I am very new to this stuff, just started to hear about it today. I looked around the web and I find the installation instructions for inline::c like the following perl Makefile.PL; make; make test; make install; But I can't find anywhere else that tells us how to install inline::Java ? BTW, I found the latest Inline is Inline-0.53.tar.gz and I use Redhat 5 Thanks David -- Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian Kernighan
Re: New to Inline::Java and a quick question
one thing I can tell you is I have never gotten Inline::Java to work with any perl later than 5.8.9. I have used it extensively with JDBC.pm. Example of this can be found here: https://github.com/russt/sqlpj best of luck! -Russ At 4:57 PM -0800 12/12/13, David Wang wrote: Thanks I am not sure if anybody has any experience with perl Inline::Java to call Java JAXB . Basically, I have added some code in my perl script to call some of my Java API that calls JAXB. System.out.println(before); JAXBContext context = JAXBContext.newInstance(SomeXMLPackage); System.out.println(after); and it fails on the JAXB statement above. I then added Debug and AUTOSTUDY option in perl like below use Inline ( Java = 'DATA', J2SDK = $ENV{JAVA_HOME}, CLASSPATH = 'classes', AUTOSTUDY = 1, DEBUG = 4, ); then I see [java][3] packet sent is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] packet recv is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] checking if stub is array... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][2] autostudying javax.xml.bind.JAXBException... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][3] reporting on javax.xml.bind.JAXBException I hope perl inline works with JAXB . BTW, my Java API works fine meaning I use a Java main to call this API and the xml file is loaded without problem. thanks, David From: David Mertens dcmertens.p...@gmail.com To: David Wang kuoweiw...@yahoo.com Cc: inline@perl.org inline@perl.org Sent: Thursday, December 12, 2013 5:37 AM Subject: Re: New to Inline::Java and a quick question Yep, as a rule, if you need to install a Perl module, a simple cpan Module::Name should do it. If you are on a Unixish system, you may have installation permission issues, in which case there are known work-arounds. But I'm sure you'll ask when you come to those. :-) Good luck, and don't be afraid to ask more questions as they come up! David On Wed, Dec 11, 2013 at 7:38 PM, David Wang mailto:kuoweiw...@yahoo.comkuoweiw...@yahoo.com wrote: Ok, I figured it out. Hope it can be documented somewhere. Download Inline-0.53 go to the dir cpan Inline::Java was instructed by some nice guy Thanks David From: David Wang mailto:kuoweiw...@yahoo.comkuoweiw...@yahoo.com To: mailto:inline@perl.orginline@perl.org mailto:inline@perl.orginline@perl.org Sent: Wednesday, December 11, 2013 4:25 PM Subject: New to Inline::Java and a quick question Hi I am very new to this stuff, just started to hear about it today. I looked around the web and I find the installation instructions for inline::c like the following perl Makefile.PL; make; make test; make install; But I can't find anywhere else that tells us how to install inline::Java ? BTW, I found the latest Inline is Inline-0.53.tar.gz and I use Redhat 5 Thanks David -- Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian Kernighan
Re: New to Inline::Java and a quick question
Thanks. my perl version is v5.8.8 . It works with Java fine. Just not with JAXB at this current moment. From: Russ Tremain ru...@releasetools.org To: David Wang kuoweiw...@yahoo.com Cc: David Mertens dcmertens.p...@gmail.com; inline@perl.org inline@perl.org Sent: Thursday, December 12, 2013 5:05 PM Subject: Re: New to Inline::Java and a quick question Re: New to Inline::Java and a quick question one thing I can tell you is I have never gotten Inline::Java to work with any perl later than 5.8.9. I have used it extensively with JDBC.pm. Example of this can be found here: https://github.com/russt/sqlpj best of luck! -Russ At 4:57 PM -0800 12/12/13, David Wang wrote: Thanks I am not sure if anybody has any experience with perl Inline::Java to call Java JAXB . Basically, I have added some code in my perl script to call some of my Java API that calls JAXB. System.out.println(beforeŠ); JAXBContext context = JAXBContext.newInstance(SomeXMLPackage); System.out.println(afterŠ); and it fails on the JAXB statement above. I then added Debug and AUTOSTUDY option in perl like below use Inline ( Java = 'DATA', J2SDK = $ENV{JAVA_HOME}, CLASSPATH = 'classes', AUTOSTUDY = 1, DEBUG = 4, ); then I see [java][3] packet sent is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] packet recv is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] checking if stub is array... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][2] autostudying javax.xml.bind.JAXBException... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][3] reporting on javax.xml.bind.JAXBException I hope perl inline works with JAXB . BTW, my Java API works fine meaning I use a Java main to call this API and the xml file is loaded without problem. thanks, David From: David Mertens dcmertens.p...@gmail.com To: David Wang kuoweiw...@yahoo.com Cc: inline@perl.org inline@perl.org Sent: Thursday, December 12, 2013 5:37 AM Subject: Re: New to Inline::Java and a quick question Yep, as a rule, if you need to install a Perl module, a simple cpan Module::Name should do it. If you are on a Unixish system, you may have installation permission issues, in which case there are known work-arounds. But I'm sure you'll ask when you come to those. :-) Good luck, and don't be afraid to ask more questions as they come up! David On Wed, Dec 11, 2013 at 7:38 PM, David Wang kuoweiw...@yahoo.com wrote: Ok, I figured it out. Hope it can be documented somewhere. Download Inline-0.53 go to the dir cpan Inline::Java was instructed by some nice guy Thanks David From: David Wang kuoweiw...@yahoo.com To: inline@perl.org inline@perl.org Sent: Wednesday, December 11, 2013 4:25 PM Subject: New to Inline::Java and a quick question Hi I am very new to this stuff, just started to hear about it today. I looked around the web and I find the installation instructions for inline::c like the following perl Makefile.PL; make; make test; make install; But I can't find anywhere else that tells us how to install inline::Java ? BTW, I found the latest Inline is Inline-0.53.tar.gz and I use Redhat 5 Thanks David -- Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian Kernighan
Re: New to Inline::Java and a quick question
can you publish your full example? I can try it my environment to see if it works for me. Also, when you installed inline::Java, did it pass all the tests? At 5:18 PM -0800 12/12/13, David Wang wrote: Thanks. my perl version is v5.8.8 . It works with Java fine. Just not with JAXB at this current moment. From: Russ Tremain ru...@releasetools.org To: David Wang kuoweiw...@yahoo.com Cc: David Mertens dcmertens.p...@gmail.com; inline@perl.org inline@perl.org Sent: Thursday, December 12, 2013 5:05 PM Subject: Re: New to Inline::Java and a quick question #yiv3571647833 #yiv3571647833 -- blockquote, #yiv3571647833 dl, #yiv3571647833 ul, #yiv3571647833 ol, #yiv3571647833 li {padding-top:0;padding-bottom:0;} #yiv3571647833 Re: New to Inline::Java and a quick question one thing I can tell you is I have never gotten Inline::Java to work with any perl later than 5.8.9. I have used it extensively with JDBC.pm. Example of this can be found here: https://github.com/russt/sqlpj best of luck! -Russ At 4:57 PM -0800 12/12/13, David Wang wrote: Thanks I am not sure if anybody has any experience with perl Inline::Java to call Java JAXB . Basically, I have added some code in my perl script to call some of my Java API that calls JAXB. System.out.println(before·); JAXBContext context = JAXBContext.newInstance(SomeXMLPackage); System.out.println(after·); and it fails on the JAXB statement above. I then added Debug and AUTOSTUDY option in perl like below use Inline ( Java = 'DATA', J2SDK = $ENV{JAVA_HOME}, CLASSPATH = 'classes', AUTOSTUDY = 1, DEBUG = 4, ); then I see [java][3] packet sent is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] packet recv is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] checking if stub is array... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][2] autostudying javax.xml.bind.JAXBException... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][3] reporting on javax.xml.bind.JAXBException I hope perl inline works with JAXB . BTW, my Java API works fine meaning I use a Java main to call this API and the xml file is loaded without problem. thanks, David From: David Mertens dcmertens.p...@gmail.com To: David Wang kuoweiw...@yahoo.com Cc: inline@perl.org inline@perl.org Sent: Thursday, December 12, 2013 5:37 AM Subject: Re: New to Inline::Java and a quick question Yep, as a rule, if you need to install a Perl module, a simple cpan Module::Name should do it. If you are on a Unixish system, you may have installation permission issues, in which case there are known work-arounds. But I'm sure you'll ask when you come to those. :-) Good luck, and don't be afraid to ask more questions as they come up! David On Wed, Dec 11, 2013 at 7:38 PM, David Wang mailto:kuoweiw...@yahoo.comkuoweiw...@yahoo.com wrote: Ok, I figured it out. Hope it can be documented somewhere. Download Inline-0.53 go to the dir cpan Inline::Java was instructed by some nice guy Thanks David From: David Wang mailto:kuoweiw...@yahoo.comkuoweiw...@yahoo.com To: mailto:inline@perl.orginline@perl.org mailto:inline@perl.orginline@perl.org Sent: Wednesday, December 11, 2013 4:25 PM Subject: New to Inline::Java and a quick question Hi I am very new to this stuff, just started to hear about it today. I looked around the web and I find the installation instructions for inline::c like the following perl Makefile.PL; make; make test; make install; But I can't find anywhere else that tells us how to install inline::Java ? BTW, I found the latest Inline is Inline-0.53.tar.gz and I use Redhat 5 Thanks David -- Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian Kernighan
Re: New to Inline::Java and a quick question
Hi Russ Thanks. Pls do the following In your perlAPI.pm add the following (in the same file). == perl script calls eval {$self-{CONNECTION} = new perlAPI::MyJAXB();}; == The following is the Java JAXB stuff __DATA__ __Java__ import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.math.BigInteger; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Unmarshaller; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; import java.util.*; public class MyJAXB { public MyJAXB() throws javax.xml.bind.JAXBException, FileNotFoundException, SAXException { System.out.println(checkpoint1); JAXBContext context = JAXBContext.newInstance(com.example.foo:com.example.bar); System.out.println(checkpoint2); } } checkpoint2 will never be reached. If you do the DEBUG =4, you will see the error [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') use Inline ( Java = 'DATA', J2SDK = $ENV{JAVA_HOME}, CLASSPATH = 'classes', DEBUG = 4, ); Pls let me know how it goes. I really hope its something I did wrong meaning it works on your end. From: Russ Tremain ru...@releasetools.org To: David Wang kuoweiw...@yahoo.com Cc: inline@perl.org inline@perl.org Sent: Thursday, December 12, 2013 7:32 PM Subject: Re: New to Inline::Java and a quick question Re: New to Inline::Java and a quick question can you publish your full example? I can try it my environment to see if it works for me. Also, when you installed inline::Java, did it pass all the tests? At 5:18 PM -0800 12/12/13, David Wang wrote: Thanks. my perl version is v5.8.8 . It works with Java fine. Just not with JAXB at this current moment. From: Russ Tremain ru...@releasetools.org To: David Wang kuoweiw...@yahoo.com Cc: David Mertens dcmertens.p...@gmail.com; inline@perl.org inline@perl.org Sent: Thursday, December 12, 2013 5:05 PM Subject: Re: New to Inline::Java and a quick question #yiv3571647833 #yiv3571647833 -- blockquote, #yiv3571647833 dl, #yiv3571647833 ul, #yiv3571647833 ol, #yiv3571647833 li {padding-top:0;padding-bottom:0;} #yiv3571647833 Re: New to Inline::Java and a quick question one thing I can tell you is I have never gotten Inline::Java to work with any perl later than 5.8.9. I have used it extensively with JDBC.pm. Example of this can be found here: https://github.com/russt/sqlpj best of luck! -Russ At 4:57 PM -0800 12/12/13, David Wang wrote: Thanks I am not sure if anybody has any experience with perl Inline::Java to call Java JAXB . Basically, I have added some code in my perl script to call some of my Java API that calls JAXB. System.out.println(before·); JAXBContext context = JAXBContext.newInstance(SomeXMLPackage); System.out.println(after·); and it fails on the JAXB statement above. I then added Debug and AUTOSTUDY option in perl like below use Inline ( Java = 'DATA', J2SDK = $ENV{JAVA_HOME}, CLASSPATH = 'classes', AUTOSTUDY = 1, DEBUG = 4, ); then I see [java][3] packet sent is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] packet recv is ok java_object:1:1:javax.xml.bind.JAXBException [perl][3] checking if stub is array... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][2] autostudying javax.xml.bind.JAXBException... [perl][3] perl doesn't know about 'javax.xml.bind.JAXBException' ('perlAPI::javax::xml::bind::JAXBException') [perl][3] reporting on javax.xml.bind.JAXBException I hope perl inline works with JAXB . BTW, my Java API works fine meaning I use a Java main to call this API and the xml file is loaded without problem. thanks, David From: David Mertens dcmertens.p...@gmail.com To: David Wang kuoweiw...@yahoo.com Cc: inline@perl.org inline@perl.org Sent: Thursday, December 12, 2013 5:37 AM Subject: Re: New to Inline::Java and a quick question Yep, as a rule, if you need to install a Perl module, a simple cpan Module::Name should do it. If you are on a Unixish system, you may have installation permission issues, in which case there are known work-arounds. But I'm sure you'll ask when you come to those. :-) Good luck, and don't be afraid to ask more questions as they come up! David On Wed, Dec 11, 2013 at 7:38 PM, David Wang kuoweiw...@yahoo.com wrote: Ok, I figured it out. Hope it can be documented somewhere. Download Inline-0.53 go to the dir cpan Inline::Java
Re: New to Inline::Java and a quick question
Ok, I figured it out. Hope it can be documented somewhere. Download Inline-0.53 go to the dir cpan Inline::Java was instructed by some nice guy Thanks David From: David Wang kuoweiw...@yahoo.com To: inline@perl.org inline@perl.org Sent: Wednesday, December 11, 2013 4:25 PM Subject: New to Inline::Java and a quick question Hi I am very new to this stuff, just started to hear about it today. I looked around the web and I find the installation instructions for inline::c like the following perl Makefile.PL; make; make test; make install; But I can't find anywhere else that tells us how to install inline::Java ? BTW, I found the latest Inline is Inline-0.53.tar.gz and I use Redhat 5 Thanks David