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

Reply via email to