|
|
|
|
Strumenti |
28-04-2008, 15:50 | #1 |
Senior Member
Iscritto dal: May 2000
Messaggi: 1135
|
[JAVA] Usare DLL C#
Salve,
io ho un DLL scritta con c# ma devo usarla in java; fare il porting è un suicidio perché è molto complessa quindi ci metterei una vita non avendo la sicurezza che funziona al 100%. Vorrei sapere se esiste un modo e quindi una guida che spiega l'uso delle DLL con java. Grazie NapalM |
28-04-2008, 16:04 | #2 |
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 515
|
Per richiamare una dll da Java puoi usare le Java Native Interface (googla per jni)
__________________
Il sole è giallo |
28-04-2008, 16:09 | #3 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Dovresti riuscire a farlo in diversi modi:
|
29-04-2008, 09:12 | #4 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3305
|
|
29-04-2008, 11:49 | #5 |
Senior Member
Iscritto dal: May 2000
Messaggi: 1135
|
Grazie delle risposte.
Mi sono documentato e mi pare di capire con JNI devo cmq scrivere una classe in java con i metodi che dovrei usare, il fatto è che fra variabili metodi e classi della DLL ci metterei na vita a scriverle. Boh, ora il fatto è che se faccio questo client in C# non sò se posso usare i webservice del server java... ora è client/server java ed èok, il problema è che questi nuovi apparati che devo pilotare hanno solo librerie c# quindi sono panato Napalm |
29-04-2008, 12:31 | #6 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3305
|
Quote:
Perchè hai tirato in ballo i webservice e in questo caso potresti scrivere semplicemente un client C# che dialoghi con webservice Java o viceversa. |
|
29-04-2008, 13:05 | #7 | ||
Senior Member
Iscritto dal: May 2000
Messaggi: 1135
|
Quote:
Quote:
La mia domanda da ignorante è appunto la possibilità di scrivere la parte client che si connette al webservices in c# anche se chi riceve o manda la richiesta è un server java. NapalM |
||
29-04-2008, 15:27 | #8 | ||
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3305
|
Quote:
Quote:
Però i webservice sono strumenti "monodirezionali", il client non può ricevere qualcosa dal server se non la risposta ad una richiesta, dato che i messaggi SOAP transitano sopra l'HTTP. Altrimenti ti serve una tradizionale connessione client-server, a quel punto sei te che conosci il protocollo di comunicazione con il server a dover implementare un client che parli la lingua corretta. In ogni caso non c'è problema. |
||
29-04-2008, 15:56 | #9 | ||
Senior Member
Iscritto dal: May 2000
Messaggi: 1135
|
Quote:
Quote:
Grazie cmq NapalM |
||
29-04-2008, 16:36 | #10 | ||
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3305
|
Quote:
Quote:
|
||
29-04-2008, 16:45 | #11 | ||
Senior Member
Iscritto dal: May 2000
Messaggi: 1135
|
Quote:
Con un semplice relè su RS232, connettevo la seriale con rxtx.. aprivo un input e output stream, inviavo il comando con la output.write, avevo la sua risposta ed il gioco è fatto. Penso che invece con i reader la questione sia più complessa, il fatto che oltre al comando in se (tipo :0x1201) bisogna dare anche i flag e vari altri dati. Ho provato a vedere le classi c# per provare a riscriverle in java, ma sono molto complesse. Quote:
NapalM |
||
26-05-2008, 11:08 | #12 | |
Senior Member
Iscritto dal: May 2000
Messaggi: 1135
|
Quote:
A questo punto istanzio la classe creata, chiamo il metodo ma mi ritorna questo errore: "richiesta non riuscita con codice stato HTTP 405: metodo non consentito". mentre chiamandolo in java funziona. Che problema può essere? NapalM |
|
26-05-2008, 11:26 | #13 |
Senior Member
Iscritto dal: May 2000
Messaggi: 1135
|
Bah, che errore da cane! Il files .cs generato avevo un riferimento web errato per cui mi dava quell'errore...
NapalM |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:47.