La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Usare Apache Axis.

Presentazioni simili


Presentazione sul tema: "Usare Apache Axis."— Transcript della presentazione:

1 Usare Apache Axis

2 Sviluppare e Installare un Web Service
Scrivere una implementazione in Java Scrivere un deployment descriptor (WSDD) per il servizio Verrà usato da Axis per gestire le chiamate SOAP Usato per indicare i metodi Java che si vogliono esporre come servizio Usare AdminClient di Axis per installare il file WSDD Comunica alla servlet axis di caricare la classe e ridirigere ad esse le richieste SOAP Finito Axis genera automaticamente il file WSDL per il web service

3 WSDD di prova <deployment name="EseguiComando"
xmlns=" xmlns:java=" <service name="EseguiComando" provider="java:RPC"> <parameter name="scope" value="request"/> <parameter name="className" value="SoapTest.ECwsImp"/> <parameter name="allowedMethods" value="execLocalCommand"/> </service> </deployment>

4 Spiegazione Usare AdminClient da riga di comando per installare il servizio sul server java org.apache.axis.client.AdminClient deploy.wsdd axis.jar nel classpath. Axis creerà un servizio chiamato WSDL del servizio Lista di tutti i servizi

5 Scrivere un client SOAP
Dopo il deploy del servizio si programma il client per invocarlo Si possono utilizzare direttamente le API SOAP di Axis

6 Esempio SOAP Axis Service service = new Service();
Call call = (Call) service.createCall(); //Settare il target Endpoint al giusto indirizzo call.setTargetEndpointAddress( new URL(“ ); //Invocare l'operazione call.setOperationName(new QName(“EchoService",“echo")); call.addParameter( “in0", XMLType.XSD_STRING, ParameterMode.IN ); call.setReturnType(XMLType.XSD_STRING); Object ret = call.invoke(new Object[] {in0}); //ret è String o RemoteException in caso di errore.

7 Un altro metodo Axis puo' generare automaticamente il codice necessario a partire dal file WSDL

8 Usare WSDL2Java Ottenere il file WSDL del servizio Usare il comando
Usare il comando java org.apache.axis.wsdl.WSDL2Java Echo.wsdl

9 File generati Vengono generati 4 file:
Echo.java: interfaccia EchoService.java: interfaccia client-side EchoServiceLocator.java: locator che implementa l'interfaccia EchoSoapBindingStub.java: utilizza Call di SOAP come nel primo esempio Scrivere il programma Java utilizzando i file

10 Stub di esempio /**Crea un client per Echo */ Echo myEcho = new
EchoServiceLocator().getEcho(new URL( /** Usare il metodo come in locale */ String risposta= myEcho.echo(“Ciao!”);

11 Usare gli Stub Il client visto prima può essere impiegato in qualsiasi codice Java per eseguire un servizio remoto GUI Swing, programmi da riga di comando, JSP, ecc. Attenzione al classpath I jar di Axis sono necessari sia per il client che per il web service In Tomcat, bisogna caricare axis tra le librerie del server. tomcat-5.5.x/webapps/app/WEB-INF/lib

12 Eclipse WTP http://eclipse.org/webtools Due principali sottoprogetti
WST (Web Standard Tools) HTML, XML, CSS, JS, WSDL, SOAP, UDDI, SQL JST (J2EE Standard Tools) Servlet, JSP, EJB, JAX-RPC, JDBC, JAXP Tools per HTML, XML, Web Services, J2EE, Data Server tools per application servers: Tomcat, JBOSS, WebSphere, WebLogic, ecc.

13 Screencast / Demo

14 Cosa fa il Wizard Installa il motore SOAP di Axis nel progetto
Genera lo scheletro Java bean per il servizio e le classi per XML data binding nella cartella src Copia test.wsdl in WebContent/wsdl/testSOAP.wsdl e imposta l'endpoint per la Web application creata Crea il descrittore wsdd di Axis in WebContent/WEB-INF/server- config.wsdd Crea file per deploy e undeploy del Web service in una sottocartella di WebContent/WEB-INF Avvia Tomcat

15 Axis e oltre IBM SOAP4J -> Apache SOAP -> Axis -> Axis2
SUN JAXWS Codehaus Xfire JbossWS webMethods Glue SOAPpy, ZSI, wsdl2py SOAP::Lite, XMLRPC::Lite, UDDI::Lite C# System.Web.Services; phpxmlrpc, WSO2

16 THE END Grazie per l'attenzione


Scaricare ppt "Usare Apache Axis."

Presentazioni simili


Annunci Google