Corso di Ingegneria del Web A A

Slides:



Advertisements
Presentazioni simili
WSDL (Web Services Description Language) Laurea Magistrale in Informatica Reti 2 (2006/07) dott. Federico Paoloni
Advertisements

Web Services.
Usare Apache Axis.
Introduzione ai Web Services. E' un nuovo meccanismo RPC ottimizzato per l'uso in Internet Un qualunque Client su una generica piattaforma deve poter.
Criniti Brunino Misale Claudia OBIETTIVO APPLICAZIONE: Integrazione di risorse ampiamente utilizzate nel campo della ricerca biomedica:
Corso di Web Services A A Domenico Rosaci 1. Introduzione
Vannucci Roberto (5BM), De Nardin Axel (5AM)
Università degli Studi di Bologna FACOLTA’ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica I web services come soluzione per l’interoperabilità.
Java Enterprise Edition
Eugenia Franzoni Il software libero Catnic Srl. Si può comprare un software?
Wikispaces, flipped rules in the classroom fiorluis[at]tin.it Luisanna Fiorini
Eclipse un editor per Java ma anche di più di questo Angelo Gargantini.
Corso gratuito di Linux. Linux User Group Mantova
Effetti grafici con compiz-fusion Come ottenere un desktop accattivante su UBUNTU.
FOX BOARD 8+32 Argomenti trattati: ● Breve descrizione dell'hardware ● Overview del sistema di sviluppo ● Esame delle porte GPIO Hardware.
PGDay 2009 FSGateway Ing. Torello Querci Resp. Architetture SW - Negens S.r.l. 4 Dicembre 2009, Pisa.
Sviluppo applicativo mobile per lettore barcode datalogic
Configurazione Router IR794- IG601
Corso per Webmaster base
IL SOFTWARE (FPwin 6.0).
“Vivere insieme” – Lezione6
“Vivere insieme” – Lezione6
La firma del verbale L’accesso si fa con matricola e password di Student-Card. La password NON è quella sulla Scratch-card. In fondo alla pagina si trova.
Corso di Ingegneria del Web A A
I/O redirection AND PIPES
Accedere su Google e aprire l’App Drive cliccando sul pulsante :::
ECDL Modulo 1 Parte 4 GESTIONE DI FILE.
CREAZIONE UTENTE SU ORACLE1
Corso di Laurea in Ingegneria Informatica
VISUAL BASIC.
Pronto.
Corso di Ingegneria del Web e Applicazioni A A Prof
EasyGraph Dynamic web-based dashboard
Scrittura collaborativa su Google Documents
Pic16f84 Assembly I/O.
how to use Windows SharePoint Services
Analysis framework of distributed thread and malware data-sources
Condividere dati di Excel tramite l'esportazione in un sito di SharePoint
Drupal tipi di contenuto
Excel 1 - Introduzione.
Corso di Ingegneria del Web e Applicazioni A A
Creare un server casalingo - 1
LA GESTIONE DEI PACCHETTI
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
2018/9/ /9/11 USER ENVIRONMENT 1 1.
Creare un server casalingo - 2
Operazioni pianificate
WebServer 12 luglio
SAS® OnDemand for Academics SAS Studio
Corso di Ingegneria del Web A A Domenico Rosaci 1
istalliamo l’ambiente di sviluppo - ide
Ecco tutte le informazioni Microsoft Notizie di SharePoint
ESEMPI EXCEL 1 – Consiglio comunale.
realizzato dal prof.Conti Riccardo
Progetto di Tecnologie Web 2014/2015 THERMOWEB
Informatica - Prof. Gregorio Cosentino
Come personalizzare il sito Web online di Microsoft SharePoint
Corso di Laurea in Ingegneria Informatica
Questionari on line GOOGLE DRIVE.
Marco Panella Pubblicare in rete Marco Panella
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
FULL STACK SENIOR DEVELOPER
Esercitazione sulle modalità
Corso di Ingegneria del Web e Applicazioni A A Prof
Istruzioni per la gestione corretta del modulo PDF su PC
Layout titolo Sottotitolo.
ISTRUZIONI PER L‘ACCESSO ALLA PIATTAFORMA DI CEOFORMAZIONE S.R.L.
PROCEDURA INSTALLAZIONE R E PLINK
Gestione sito web Ruolo: Redattore.
Digitare qui i dettagli dell'evento
Transcript della presentazione:

Corso di Ingegneria del Web A A Corso di Ingegneria del Web A A. 2016 2017 Domenico Rosaci Realizzare WS con ECLIPSE e AXIS 2 su TOMCAT Esercitazione N°1

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

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

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

TOMCAT Installer D. Rosaci WS

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 1.6.4 di inizio 2016, sempre perché non presnta incompatibilità con ECLIPSE D. Rosaci WS

AXIS2 1.6.4 D. Rosaci WS

Scaricare la war distribution D. Rosaci WS

Installare AXIS su TOMCAT Il file axis2.war contenuto nello zip va semplicemente estratto all’interno della cartella webapps di TOMCAT D. Rosaci WS

Scaricare ECLIPSE NEON D. Rosaci WS

Integrare i Runtime Environments nell’IDE D. Rosaci WS

Aggiungere TOMCAT 8.5 D. Rosaci WS

Specificare la cartella di installazione di TOMCAT D. Rosaci WS

Aggiungere AXIS2, specificando la cartella che contiene il file axis2 Aggiungere AXIS2, specificando la cartella che contiene il file axis2.war D. Rosaci WS

Creare un nuovo Dynamic Web Project D. Rosaci WS

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

Scegliere AXIS2 nei Project Facets D. Rosaci WS

Aggiungere una classe al progetto WebService1 Selezionare File->New->Other D. Rosaci WS

Dare un nome alla classe (stesso nome del Progetto) D. Rosaci WS

Scrivere il codice della classe D. Rosaci WS

Creare il WS dalla classe D. Rosaci WS

Configurare il WS Attenzione: cambiare Apache Axis in Axis2 D. Rosaci

Service Deployment Configuration D. Rosaci WS

Web Service Java Bean Configuration D. Rosaci WS

Avviare il Server D. Rosaci WS

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. 8080 in 8081) D. Rosaci SOAP

Cambiare le porte in ECLIPSE D. Rosaci WS

WebService1 avviato D. Rosaci WS

Se tutto è andato a buon fine... Cliccare qui per visualizzare il WSDL del servizio D. Rosaci WS

WSDL generato – Tipi di dato <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://domenicorosaci.it" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:ns1="http://org.apache.axis2/xsd"xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://domenicorosaci.it"> <wsdl:documentation>Please Type your service description here</wsdl:documentation> <wsdl:types> <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://domenicorosaci.it"> <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

WSDL generato – Primo binding <wsdl:binding name="WebService1Soap11Binding" type="ns:WebService1PortType"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <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

WSDL generato – Secondo binding <wsdl:binding name="WebService1Soap12Binding" type="ns:WebService1PortType"> <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <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

WSDL generato – Terzo binding <wsdl:binding name="WebService1HttpBinding" type="ns:WebService1PortType"> <http:binding verb="POST"/> <wsdl:operation name="somma"> <http:operation location="somma"/> <wsdl:input> <mime:content type="application/xml" part="parameters"/> </wsdl:input> <wsdl:output> </wsdl:output> </wsdl:operation> </wsdl:binding> D. Rosaci WS

WSDL generato – Service <wsdl:service name="WebService1"> <wsdl:port name="WebService1HttpSoap11Endpoint" binding="ns:WebService1Soap11Binding"> <soap:address location="http://localhost:8081/WebService1/services/WebService1.WebService1HttpSoap11Endpoint/"/> </wsdl:port> <wsdl:port name="WebService1HttpSoap12Endpoint" binding="ns:WebService1Soap12Binding"> <soap12:address location="http://localhost:8081/WebService1/services/WebService1.WebService1HttpSoap12Endpoint/"/> <wsdl:port name="WebService1HttpEndpoint" binding="ns:WebService1HttpBinding"> <http:address location="http://localhost:8081/WebService1/services/WebService1.WebService1HttpEndpoint/"/> </wsdl:service> </wsdl:definitions> D. Rosaci WS

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

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

Generare il file .aar D. Rosaci WS

Bloccare il Web Server su ECLIPSE D. Rosaci WS

Copiare il file WebService1.aar nella cartella services di Axis2 D. Rosaci WS

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

Generare un client per WebService1 Scegliere File->New->Other D. Rosaci WS

Configurazione del Client URI del WSDL D. Rosaci WS

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

Una classe per testare il client Eseguire come normale Java Application. Ecco il risultato D. Rosaci WS