La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Corso di Ingegneria del Web A A

Presentazioni simili


Presentazione sul tema: "Corso di Ingegneria del Web A A"— Transcript della presentazione:

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


Scaricare ppt "Corso di Ingegneria del Web A A"

Presentazioni simili


Annunci Google