Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Corso di Ingegneria del Web A A
Corso di Ingegneria del Web A A Domenico Rosaci Realizzare WS con ECLIPSE e AXIS 2 su TOMCAT Esercitazione N°1
2
Sommario Vedremo come realizzare Web Services usando l’IDE Eclipse per J2EE, integrando al suo interno l’ambiente di sviluppo per WS AXIS2 e l’ambiente di runtime TOMCAT come Web Application Server. D. Rosaci Ingegneria del Web
3
TOMCAT Apache Tomcat è un’implementazione open source delle tecnologie Java Servlet, JavaServer Pages, Java Expression Language e Java WebSocket technologies. Fornisce un ambiente di runtime per Web server e Web applications D. Rosaci WS
4
Versione 8.5 Per questa esercitazione scaricheremo dal sito tomcat.apache.org la binary distribution 8.5.6, sotto forma di installer per windows. Abbiamo scelto questa versione perché non presenta particolari incompatibilità con l’IDE Eclipse D. Rosaci WS
5
TOMCAT Installer D. Rosaci WS
6
AXIS2 Apache Axis2 è un Web Services / SOAP / WSDL engine, successore dell’ambiente AXIS. Esistono due implementazioni di Apache Axis2 Web services engine: Apache Axis2/Java and Apache Axis2/C Noi utilizzeremo Axis2/Java, nella versione di inizio 2016, sempre perché non presnta incompatibilità con ECLIPSE D. Rosaci WS
7
AXIS D. Rosaci WS
8
Scaricare la war distribution
D. Rosaci WS
9
Installare AXIS su TOMCAT
Il file axis2.war contenuto nello zip va semplicemente estratto all’interno della cartella webapps di TOMCAT D. Rosaci WS
10
Scaricare ECLIPSE NEON
D. Rosaci WS
11
Integrare i Runtime Environments nell’IDE
D. Rosaci WS
12
Aggiungere TOMCAT 8.5 D. Rosaci WS
13
Specificare la cartella di installazione di TOMCAT
D. Rosaci WS
14
Aggiungere AXIS2, specificando la cartella che contiene il file axis2
Aggiungere AXIS2, specificando la cartella che contiene il file axis2.war D. Rosaci WS
15
Creare un nuovo Dynamic Web Project
D. Rosaci WS
16
Dare un nome al progetto, scegliere la versione 2
Dare un nome al progetto, scegliere la versione 2.5 per Dynamic Web Module e modificare la Configuration D. Rosaci WS
17
Scegliere AXIS2 nei Project Facets
D. Rosaci WS
18
Aggiungere una classe al progetto WebService1
Selezionare File->New->Other D. Rosaci WS
19
Dare un nome alla classe (stesso nome del Progetto)
D. Rosaci WS
20
Scrivere il codice della classe
D. Rosaci WS
21
Creare il WS dalla classe
D. Rosaci WS
22
Configurare il WS Attenzione: cambiare Apache Axis in Axis2 D. Rosaci
23
Service Deployment Configuration
D. Rosaci WS
24
Web Service Java Bean Configuration
D. Rosaci WS
25
Avviare il Server D. Rosaci WS
26
Problema frequente Se per caso avevate già avviato Tomcat prima di lanciare Eclipse, si genererà un errore dovuto al fatto che le porte del server (generalmente la 8080, la 8005 e la 8009 rispettivament per l’ascolto HTTP, per lo startup e per lo shutdown) sono già occupate. Occorrerà che chiudiate il programma di «monitor» di Tomcat (facendo exit, non basta lo stop del server) e dovrete cambiare le porte del server in ECLIPSE Dovrete editare in Eclipse il file server.xml e cambiare i numeri delle porte (es in 8081) D. Rosaci SOAP
27
Cambiare le porte in ECLIPSE
D. Rosaci WS
28
WebService1 avviato D. Rosaci WS
29
Se tutto è andato a buon fine...
Cliccare qui per visualizzare il WSDL del servizio D. Rosaci WS
30
WSDL generato – Tipi di dato
<wsdl:definitions xmlns:wsdl=" <wsdl:documentation>Please Type your service description here</wsdl:documentation> <wsdl:types> <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace=" <xs:element name="somma"> <xs:complexType> <xs:sequence> <xs:element name="a" type="xs:int"/> <xs:element name="b" type="xs:int"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="sommaResponse"> <xs:element name="return" type="xs:int"/> </xs:schema> </wsdl:types> D. Rosaci WS
31
WSDL generato – Primo binding
<wsdl:binding name="WebService1Soap11Binding" type="ns:WebService1PortType"> <soap:binding transport=" <wsdl:operation name="somma"> <soap:operation soapAction="urn:somma" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> </wsdl:output> </wsdl:operation> </wsdl:binding> D. Rosaci WS
32
WSDL generato – Secondo binding
<wsdl:binding name="WebService1Soap12Binding" type="ns:WebService1PortType"> <soap12:binding transport=" <wsdl:operation name="somma"> <soap12:operation soapAction="urn:somma" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> </wsdl:output> </wsdl:operation> </wsdl:binding> D. Rosaci WS
33
WSDL generato – Terzo binding
<wsdl:binding name="WebService1HttpBinding" type="ns:WebService1PortType"> < <wsdl:operation name="somma"> < <wsdl:input> <mime:content type="application/xml" part="parameters"/> </wsdl:input> <wsdl:output> </wsdl:output> </wsdl:operation> </wsdl:binding> D. Rosaci WS
34
WSDL generato – Service
<wsdl:service name="WebService1"> <wsdl:port name="WebService1HttpSoap11Endpoint" binding="ns:WebService1Soap11Binding"> <soap:address location=" </wsdl:port> <wsdl:port name="WebService1HttpSoap12Endpoint" binding="ns:WebService1Soap12Binding"> <soap12:address location=" <wsdl:port name="WebService1HttpEndpoint" binding="ns:WebService1HttpBinding"> < </wsdl:service> </wsdl:definitions> D. Rosaci WS
35
WSDL generato - 2 <wsdl:message name="sommaRequest">
<wsdl:part name="parameters" element="ns:somma"/> </wsdl:message> <wsdl:message name="sommaResponse"> <wsdl:part name="parameters" element="ns:sommaResponse"/> <wsdl:portType name="WebService1PortType"> <wsdl:operation name="somma"> <wsdl:input message="ns:sommaRequest" wsaw:Action="urn:somma"/> <wsdl:output message="ns:sommaResponse" wsaw:Action="urn:sommaResponse"/> </wsdl:operation> </wsdl:portType> D. Rosaci WS
36
Creare un archivio Axis
Per evitare di dovere usare Eclipse ogni volta che vogliamo lanciare il servizio, possiamo creare un archivio axis (file .aar) e renderlo disponibile sul Web server. A questo scopo, andiamo nella cartella WebService1 in c:\users\username (dove username è il vostro account su Windows), da riga di comando D. Rosaci WS
37
Generare il file .aar D. Rosaci WS
38
Bloccare il Web Server su ECLIPSE
D. Rosaci WS
39
Copiare il file WebService1.aar nella cartella services di Axis2
D. Rosaci WS
40
Vedere il servizio sotto Axis2
Avviamo Tomcat dal programma monitor. Dovremmo vedere il servizio WebService1 tra i servizi di Axis2 (attenzione: la porta sarà la 8080) D. Rosaci WS
41
Generare un client per WebService1
Scegliere File->New->Other D. Rosaci WS
42
Configurazione del Client
URI del WSDL D. Rosaci WS
43
Generazione dello Stub e del Callback Handler
Due nuove classi generate: WebService1Stub.java WebService1CallbackHandler.java. Ora generiamo una classe per testare il client D. Rosaci WS
44
Una classe per testare il client
Eseguire come normale Java Application. Ecco il risultato D. Rosaci WS
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.