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

Reply via email to