From: ntusbalumni on
Hi,

How does one get a Java application (JNI) to call functions in
this .NET DLL?
Essential I can't get the JNI DLL to call the .NET DLL (CLI managed
code).
Is this a dead end or is there any other way?

I hope we don't need to use web services ...
It's just Java trying to talk to .NET DLL on a local machine.


Thanks

Regards,
Choong Leong

From: Vitaly on
See
http://www.sharewareplaza.com/OOJNI-for-NET2-0-low-level-download_49440.html
http://www.sharewareplaza.com/Object-Oriented-JNI-for-NET-low-level-download_40782.html
http://www.sharewareplaza.com/OOJNI-Add-in-NET-for-VS7-1-download_43587.html

Vitaly

"ntusbalumni" <choongleong.tan(a)gmail.com> wrote in message
news:1180932153.105333.64710(a)g37g2000prf.googlegroups.com...
> Hi,
>
> How does one get a Java application (JNI) to call functions in
> this .NET DLL?
> Essential I can't get the JNI DLL to call the .NET DLL (CLI managed
> code).
> Is this a dead end or is there any other way?
>
> I hope we don't need to use web services ...
> It's just Java trying to talk to .NET DLL on a local machine.
>
>
> Thanks
>
> Regards,
> Choong Leong
>



I'm protected by SpamBrave
http://www.spambrave.com/


From: Twisted on
On Jun 4, 12:42 am, ntusbalumni <choongleong....(a)gmail.com> wrote:
> Hi,
>
> How does one get a Java application (JNI) to call functions in
> this .NET DLL?

Looking up appropriate reference ...
Lookup complete.

DEMONIC INVOCATION FOR BEGINNERS

To begin, obtain a pint of fresh goat's blood. Using this,
inscribe an inverted pentagram on the side of the hardware,
with the word "tfosorciM" in each of the five outer sections.
Then, using JNI, load the DLL and execute a jump to 0x00000666.

For further information, see Demonic Invocation for Necromancers
and Satanists of Intermediate Skill.


From: Arne Vajhøj on
ntusbalumni wrote:
> How does one get a Java application (JNI) to call functions in
> this .NET DLL?
> Essential I can't get the JNI DLL to call the .NET DLL (CLI managed
> code).
> Is this a dead end or is there any other way?
>
> I hope we don't need to use web services ...
> It's just Java trying to talk to .NET DLL on a local machine.

It is not simple.

Java--(JNI)--C++ Win32 DLL--(COM)--COM wrapper .NET DLL--.NET DLL

should work.

(the C++ Win32 DLL does not need to be written by you - you can
find various COM for Java bridges).

Java--(socket)--wrapper .NET EXE--.NET DLL

is a bit primitive but probably the easiest to implement.

Arne
From: Tan Choong Leong on
Hi Arne,

Thanks! My solution which is similar to yours works!

My solution is:

1. java (JNI) C++ Win32 DLL using LoadLibrary(), GetProcAddress() to call 2.
2. CLR DLL which export extern "C" function API to call 3.
3. Actual .Net DLL in question.

It works by calling as a standalone java class.

Next, what I need is to call functions in this class from a TOMCAT
environment. This fails with unknown reason.

I realised that if I remov the "Actual .NET" function call in the CLR
DLL in step 2. with some dummy data, there is no problem in the Tomcat
environment.

It just beats me that why as a standalone Java class it works but not in
a Tomcat environment.

1. Could it be some security issue?
2. or path problem?

All Dlls are in C:/windows/system32

An excerpt from the error logs:
#
# An unexpected error has been detected by Java Runtime Environment:
#
# Internal Error (0xe0434f4d), pid=508, tid=3964
#
# Java VM: Java HotSpot(TM) Client VM (1.6.0_01-b06 mixed mode, sharing)
# Problematic frame:
# C [kernel32.dll+0x12a5b]
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#

--------------- T H R E A D ---------------

Current thread (0x03704c00): JavaThread "http-8081-1" daemon
[_thread_in_native, id=3964]

siginfo: ExceptionCode=0xe0434f4d, ExceptionInformation=0x80070002

Registers:
EAX=0x04e4eb3c, EBX=0x00083a60, ECX=0x00000000, EDX=0x00000025
ESP=0x04e4eb38, EBP=0x04e4eb8c, ESI=0x04e4ebc8, EDI=0xe0434f4d
EIP=0x7c812a5b, EFLAGS=0x00000202
Blah blah blah.....


Arne Vajh�j wrote:
> ntusbalumni wrote:
>> How does one get a Java application (JNI) to call functions in
>> this .NET DLL?
>> Essential I can't get the JNI DLL to call the .NET DLL (CLI managed
>> code).
>> Is this a dead end or is there any other way?
>>
>> I hope we don't need to use web services ...
>> It's just Java trying to talk to .NET DLL on a local machine.
>
> It is not simple.
>
> Java--(JNI)--C++ Win32 DLL--(COM)--COM wrapper .NET DLL--.NET DLL
>
> should work.
>
> (the C++ Win32 DLL does not need to be written by you - you can
> find various COM for Java bridges).
>
> Java--(socket)--wrapper .NET EXE--.NET DLL
>
> is a bit primitive but probably the easiest to implement.
>
> Arne