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 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 > > > > > -- ===================== Patrick LeBoutillier Rosemère, Québec, Canada