Hi all,
I tried to execute this little script:
----------------------------------------------------------------------------------
BEGIN {
$ENV{'CLASSPATH'} = 'C:\Sonic\MQ6.1\lib\certj.jar';
}
use Inline Java => 'STUDY', STUDY => ['com.rsa.certj.xml.Transformer'];
----------------------------------------------------------------------------------
The resulting error was:
----------------------------------------------------------------------------------
[C:\sonicMQ-Perl]test.pl
java.lang.NoClassDefFoundError: com/rsa/jsafe/JSAFE_Exception
at com.rsa.certj.xml.Transformer.<clinit>(Transformer.java:91)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at org.perl.inline.java.InlineJavaClass.ValidateClass(InlineJavaClass.ja
va:76)
at org.perl.inline.java.InlineJavaProtocol.Report(InlineJavaProtocol.jav
a:99)
at org.perl.inline.java.InlineJavaProtocol.Do(InlineJavaProtocol.java:53
)
at org.perl.inline.java.InlineJavaServer.ProcessCommand(InlineJavaServer
.java:136)
at org.perl.inline.java.InlineJavaServer.ProcessCommand(InlineJavaServer
.java:125)
at org.perl.inline.java.InlineJavaServerThread.run(InlineJavaServerThrea
d.java:51)
Can't receive packet from JVM: Bad file descriptor at C:/Perl/site/lib/Inline/Ja
va/Protocol.pm line 337
BEGIN failed--compilation aborted at C:\sonicMQ-Perl\test.pl line 5, <GEN7> line
3.
--------------------------------------------------------------------------------
I decompiled the com.rsa.certj.xml.Transformer.class file with Mocha, and found
that there is no reference to com.rsa.jsafe.JSAFE_Exception in there.
What is it that Inline Java is trying to do that is failing here? If someone
wants, I can send the com.rsa.certj.xml.Transformer.java file (I don't want to
send it to a mailing list, since it's a commercial library). Also, Transformer
is an abstract class. Does that matter?
Thanks.
Vishal
----------------------------------------
This mail sent through www.mywaterloo.ca