Avatar billede pablopablo Nybegynder
26. august 2008 - 16:51 Der er 5 kommentarer og
1 løsning

Kald af dot net assembly fra Java

Hejsa...

Er det muligt at kalde en C# metode som ligger kompileret i en dll direkte fra java...altså uden at oprette en konkret web service?

Mvh. PabloPablo
Avatar billede arne_v Ekspert
26. august 2008 - 17:04 #1
Ikke umiddelbart.

Der findes et kommercielt tool som kan afvikle .NET kode i Java - http://dev.mainsoft.com/Default.aspx?tabid=130 !

Og der findes et gratis tool som kan afvikle Java kode i .NET - http://www.ikvm.net/ !

Men i praksis tror jeg at de fleste vil vaelge den prosaiske:

Java--(JNI)--Win32 DLL--(COM)-->.NET assembly
Avatar billede pablopablo Nybegynder
26. august 2008 - 17:13 #2
Hvad mener du med: Java--(JNI)--Win32 DLL--(COM)-->.NET assembly

Jeg tænker på, hvordan gøres det? Kan du giv et eksempel på, hvordan jeg kalder en C# metode som jeg allerede har kompileret i en dll fra java?
Avatar billede arne_v Ekspert
26. august 2008 - 17:17 #3
At du skriver en lille Win32 DLL i C/C++ som glue. Java kan kalde en Win32 DLL via JNI.
En Win32 DLL kan kalde en .NET DLL via COM.

Jeg kan maaske godt lave et eksempel, men det vil tage lidt tid.
Avatar billede pablopablo Nybegynder
26. august 2008 - 17:26 #4
Okey, ja for jeg kan ikke kode C/C++.

Hvis jeg vælger en web service, kan webservicen så tilgå alle de samme ting som resten af mit asp.net project kan, bare at de ligger i samme name space?

Hvis det er lettere må du meget gerne vise mig, hvordan jeg kalder webservicen fra java.
Avatar billede arne_v Ekspert
27. august 2008 - 04:19 #5
Hvis du ikke vil lave noget C/C++ glue kode, så er den vej nok udelukket.

Ja. Der gælder samme regler med hensyn til visbility for web services som for
anden kode.

Du bruger web services fra Java ligesom du gør i .NET.

Du giver et tool en URL på WSDL og så genererer toolet en klasse du kan kalde
ligesom enhver anden klasse.

Til Java vil jeg anbefale at du henter Axis2 toolkittet og bruger WSDL2Java utility.

http://www.eksperten.dk/artikler/516 er lidt gammel og bruger Axis ikke Axis2. Men
grundideen er nu helt den samme idag.

Bruger du en moderne IDE som Eclipse til din Java kode, så kommer den med et web
service toolkit og så kører du bare en wizard som du giver WSDL URL ligesom du gør
i Visual Studio.
Avatar billede arne_v Ekspert
28. oktober 2008 - 02:34 #6
all set ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester