Vai al contenuto

Primario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Secondario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Sfondo: Blank Waves Squares Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Corsi di Laurea










ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.    Accetto l'uso dei cookie
-->
Foto

Re: [HOWTO] Ubuntu+Eclipse+Tomcat+Metro


  • Effettua l'accesso per rispondere
Questa discussione ha avuto 2 risposta/e

#1
mib85

mib85

    Advanced Member

  • Utente
  • StellaStellaStella
  • 292 Messaggi:
Per chi avesse problemi ad installare e utilizzare il software indicato dal prof. Foggia a lezione, posto qui una breve guida per Ubuntu.

N.B. Non è necessario scaricare un'altra versione di Eclipse! Va bene quella standard! ;)



PREMESSA:
Supponiamo di aver creato il progetto MyCalculator nel workspace di Eclipse e che si trovi ad esempio in /home/utente/eclipse_workspace/MyCalculator. Supponiamo inoltre di aver creato un'unica classe Calculator.java il cui package è esempio.server



PARTE SERVER:
1. Installare Tomcat lanciando da linea di comando
sudo apt-get install tomcat7
2. Scaricare Glassfish Metro da http://metro.java.net
3. Scompattare l'archivio .zip appena scaricato, posizionarsi da shell al suo interno e copiare i file che si trovano nella cartella "lib" e il cui nome comincia con "webservices-" in /usr/share/tomcat7/lib/:
sudo cp lib/webservices-* /usr/share/tomcat7/lib/
4. Creare una cartella in /var/lib/tomcat7/webapps con il nome dell'app, ad esempio /var/lib/tomcat7/webapps/calc. Poiché servono i privilegi di root, eseguire da linea di comando
sudo mkdir /var/lib/tomcat7/webapps/calc
e, successivamente,
sudo chown utente:gruppo /var/lib/tomcat7/webapps/calc
, sostituendo a "utente" il nome utente di Ubuntu e a "gruppo" il nome del gruppo a cui l'utente appartiene (in genere sono entrambi uguali al nome utente)
5. Creare al suo interno una cartella WEB-INF contenente una cartella classes e i file web.xml, sun-jaxws.xml (vedi la fine di questo post)
6. Nella cartella classes, copiare l'intera directory contenente i file compilati (nell'esempio della premessa, copiare la directory /home/utente/eclipse_workspace/MyCalculator/bin/esempio)
7. Avviare Tomcat con
sudo /etc/init.d/tomcat7 start
8. Testare che tutto funzioni aprendo in un browser l'url http://localhost:8080//?wsdl ("calc" è il nome della directory creata al punto 4 e calculator è l'url-pattern specificato nel file sun-jaxws.xml). Ad esempio http://localhost:808...calculator?wsdl



PARTE CLIENT:
1. Creare un progetto Java in Eclipse (o usarne uno esistente)
2. Da linea di comando, posizionarsi nella cartella src del progetto, ad esempio /home/utente/eclipse_workspace/TestCalculator/src
3. Eseguire il comando wsimport -keep -p "http://localhost:8080//?wsdl", ad esempio
wsimport -keep -p test.calc "http://localhost:8080/calc/calculator?wsdl"
. ATTENZIONE!!! I doppi apici sono fondamentali!
4. Creare una classe contenente il main e seguire le istruzioni sulle slide del prof (lezione09.pdf, da pag. 18 in poi)



web.xml
[codice-xml:2glxvbbc]

Calculator
Calculator Web Service

com.sun.xml.ws.transport.http.servlet.WSServletContextListener


Calculator
com.sun.xml.ws.transport.http.servlet.WSServlet
1


Calculator
/calculator

[/codice-xml]



sun-jaxws.xml
[codice-xml:2glxvbbc]

name="Calculator"
implementation="esempio.server.Calculator"
url-pattern="/calculator"/>
[/codice-xml]


Al mondo esistono 10 tipi di persone, quelli che capiscono il codice binario e gli altri!

#2
mib85

mib85

    Advanced Member

  • Utente
  • StellaStellaStella
  • 292 Messaggi:
IMPORTANTE!!!
Se avete problemi ad importare alcune classi del package com.sun.xml.internal.ws.developer (tipo Stateful), leggete cosa scrive Oracle.
Penso sia il caso di farlo presente al prof., almeno a titolo informativo.
Nel frattempo vedo se è possibile aggirare questa limitazione senza dover ricorrere ad una vecchia versione delle librerie Java :sfiga: .
Appena ho novità vi aggiorno! ;)

P.S. La mia configurazione è JDK 1.7.0_21 su Ubuntu 13.04 64bit
Al mondo esistono 10 tipi di persone, quelli che capiscono il codice binario e gli altri!

#3
mib85

mib85

    Advanced Member

  • Utente
  • StellaStellaStella
  • 292 Messaggi:
Workaround
Premetto che non ho ancora testato il codice (andrebbe prima scritto... :P ), ma in teoria dovrebbe funzionare.
Allora, noi vogliamo realizzare un programma che utilizzi le librerie "webservices-*", quindi quello che si può fare è:
1. In Eclipse selezionare Window->Preferences->Java->Build Path->User Libraries
2. Fate click su New... e date un nome alla libreria, tipo Metro Webservices, e poi OK
3. Fate click su Add External JARs... e selezionate tutti i file "webservices-*" di cui sopra e poi OK fino a tornare al codice
4. Selezionate il progetto "incriminato" e aprite le proprietà, selezionate Java Build Path->Libraries e cliccate su Add Library..., poi selezionate User Library, cliccate su Next e infine selezionate Metro Webservices e cliccate su Finish

ATTENZIONE!!! Il package in questo caso non è più com.sun.xml.internal.ws.developer, ma com.sun.xml.ws.developer!!!
Fatemi sapere se funziona! ;)
Al mondo esistono 10 tipi di persone, quelli che capiscono il codice binario e gli altri!




Leggono questa discussione 0 utenti

0 utenti, 0 ospiti, 0 utenti anonimi