Auszug aus Axis2 Übungen



Ähnliche Dokumente
Auszug aus JAX-WS Folien

Um die Installation zu starten, klicken Sie auf den Downloadlink in Ihrer (Zugangsdaten für Ihre Bestellung vom...)

ANLEITUNG NETZEWERK INSTALATION

Anwenden eines Service Packs auf eine Workstation

MSDE 2000 mit Service Pack 3a

1 Voraussetzungen für Einsatz des FRITZ! LAN Assistenten

Einführung in die Informatik Tools

Installation und Inbetriebnahme von Microsoft Visual C Express

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Durchführung der Datenübernahme nach Reisekosten 2011

Übung - Datensicherung und Wiederherstellung in Windows 7

Datenübernahme bei Umstieg von T-Online Banking 6 auf Quicken 2010 so wird s gemacht!

Zentrale Installation

Sichern der persönlichen Daten auf einem Windows Computer

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte:

Upgrade von Starke Praxis

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Anleitung zur Webservice Entwicklung unter Eclipse

Zeiterfassung mit Aeonos. Bedienungsanleitung für die App

Zertifikat in dakota einlesen Wie lese ich mein Zertifikat in dakota.le ein?

Installation des edu-sharing Plug-Ins für Moodle

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Installationsanweisung Gruppenzertifikat

TELIS FINANZ Login App

Netzwerkversion PVG.view

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

OP-LOG

Installationsanleitungen

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Print2CAD 2017, 8th Generation. Netzwerkversionen

Vorgehensweise bei Lastschriftverfahren

Powermanager Server- Client- Installation

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Anleitung zur Updateinstallation von ElsaWin 4.00

Internet Explorer Version 6

OXID esales Dokumentation

Um über FTP Dateien auf Ihren Public Space Server - Zugang laden zu können benötigen Sie folgende Angaben:

WebService in Java SE und EE

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

Anleitung zum Einspielen der Demodaten

Adminer: Installationsanleitung

Einzelplatz - USB-Lizenz

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Installationsleitfaden zum Fakturierungsprogramm

SEPA-Leitfaden für PC-VAB Version Inhalt

Anleitungen zum Einfügen eines Partnerlinks in Ihre Website

Norman Security Portal - Quickstart Guide

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Virtual Private Network

Hochschulrechenzentrum. chschulrechenzentrum #96. Freie Universität Berlin

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

1 Einleitung. Lernziele. Dokumente vergleichen. Änderungen mit Überarbeitungsfenster bearbeiten Lerndauer. 4 Minuten.

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Installation des edu- sharing Plug- Ins für Moodle

Konvertieren von Settingsdateien

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Installation von Wordpress

Installation censhare Client. Inhaltsverzeichnis

Auszug aus Axis2 Schulung

Bauteilattribute als Sachdaten anzeigen

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Problem crazytrickler unter Windows 8:

Comtarsia SignOn Familie

Der neue persönliche Bereich/die CommSy-Leiste

Anleitung zur Installation und Nutzung des Sony PRS-T1 ebook Readers

Anleitung zur Installation und Nutzung des Sony PRS-T1 ebook Readers

Download, Installation und Autorisierung der Lasergene Software. Bitte unbedingt beachten!

Seriendruck mit der Codex-Software

Überprüfung der digital signierten E-Rechnung

Anleitung zur zweimaligen Installation einer Handelsplattform

Intrexx unter Windows Server 2008

Update von Campus-Datenbanken (FireBird) mit einer Version kleiner 9.6 auf eine Version größer 9.6

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Migration NVC 5.x auf NEM/NPro (Migration eines bestehenden, produktiven NVC Verteilservers auf NEM/NPro)

1. Handhabung Werkzeug- und Menüleiste

Anleitung Lernobjekt-Depot (LOD)

Themen. Web Service - Clients. Kommunikation zw. Web Services

Herzlich willkommen bei der Installation des IPfonie -Softclients!

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Visual Basic Express erstes Projekt anlegen

1. Voraussetzungen S Installation des OpenVPN Clients S OpenVPN Client installieren S Entpacken des Zip Ordners S.

Nach der Installation kann es auch schon losgehen. Für unseren Port Scanner erstellen wir zunächst ein neues Projekt:

BACHER Informatik - we do IT Alte Gasse 1, CH-6390 Engelberg Telefon info@hostdomain.ch

1. Laden Sie sich zunächst das aktuelle Installationspaket auf herunter:

Durchführung der Netzwerk bzw. Mehrplatzinstallation

Psyprax auf einen neuen Rechner übertragen (Rechnerwechsel)

Datensicherung und Wiederherstellung

BSV Software Support Mobile Portal (SMP) Stand

Übung: Verwendung von Java-Threads

Psyprax GmbH. Netzwerk Installation unter XP. Wichtig für alle Netzwerkinstallationen: Psyprax GmbH

Psyprax GmbH. Wichtig für alle Netzwerkinstallationen: Psyprax GmbH

Anna-Homepage mitgestalten Tutorial

Java: Vererbung. Teil 3: super()

Transkript:

Auszug aus Axis2 Schulung -1- Auszug aus Axis2 Übungen Version 1.1 Dieses Dokument ist ein Auszug aus unserem Übungsskript zur Axis2-Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Für die Durchführung der Übungen wird zusätzlich eine Kurs-CD und ein Foliensatz mit Hintergrundinformationen benötigt, auf der Projektvorlagen für die jeweiligen Übungen zu finden sind. Falls Sie Interesse an dieser Schulung haben können Sie sich gerne an mich wenden. Mehr zum Kurs finden Sie unter: http://www.thomas-bayer.com/axis2-schulung.htm Thomas Bayer Nikolausstraße 107 50937 Köln Tel. +49 (221) 4249250 info@thomas-bayer.com von Thomas Bayer und Marco Hippler

Auszug aus Axis2 Schulung -6- Übung: XML erzeugen mit Event-API 1. Betrachten Sie die Klasse: com.thomas_bayer.stax.writermiteventapi 2.Führen Sie die Klasse aus. 3. Erweitern Sie das erzeugte Dokument, so dass folgende Struktur erzeugt wird: <?xml version="1.0"?> <f:foo xmlns:f="http://baz"> <bar>hello StAX</bar> <fooagain> <bar>hello again</bar> </fooagain> </f:foo>

Auszug aus Axis2 Schulung -7-1.3 AXIOM Übung: XML mit AXIOM einlesen 1. Wechseln Sie zu Projekt zoohandlungclient. 2. Betrachten Sie die Klasse: com.thomas_bayer.axiom.axiomlesenundschreiben 3. Betrachten Sie die einzulesende XML Datei: resources/foo.xml 4. Führen Sie die Klasse aus.

Auszug aus Axis2 Schulung -8- Übung: Traversieren von XML mit AXIOM 1. Geben Sie die Kind-Elemente des Document-Elementes aus. Fügen Sie dazu nach der Ausgabe des Document-Elementes den folgenden Code in AXIOMLesenUndSchreiben ein: Iterator<OMElement> elements=doc.getchildelements(); while(elements.hasnext()) { OMElement elem=elements.next(); System.out.println(elem.getLocalName()); 2. Führen Sie die Klasse aus.

Auszug aus Axis2 Schulung -10-2. Erste Schritte mit Axis2 Übung: Installation der Axis2 Webanwendung Voraussetzung: axis2.war wurde aus Binär-Distribution erstellt oder heruntergeladen. 1. Kopieren Sie die Axis2 Webanwendung in das webapps Verzeichnis von Tomcat. 2. Starten Sie Tomcat. 3. Rufen Sie die Tomcat-Manager Webanwendung mit der folgenden URL auf: http://localhost:8080/manager/html Bild1: Tomcat Manager 4. Rufen Sie die Axis2-Webanwendung auf

Auszug aus Axis2 Schulung -11- Bild2: Axis2 Startseite 5. Klicken Sie auf den Link Validate um die Installation zu überprüfen.

Auszug aus Axis2 Schulung -12- Bild3: Axis2 Validate-Seite 6. Gehen Sie zurück auf die Welcome-Seite und klicken Sie auf den Link Services.

Auszug aus Axis2 Schulung -18- Übung: Hotdeployment von Services 1. Erweitern Sie die Implementierung vom Buch-Service um die Ausgabe der ID: public class BuchServiceImpl { public int addbuch(int id, String name) { System.out.println("Buch hinzugefuegt: " +name+" id: "+id); return 0; 2. Führen Sie ein Deployment des Buch-Services durch, indem Sie das Ant-Target deploy.service ausführen. 3. Starten sie den Client 4. Betrachten Sie die Ausgabe der Tomcat-Konsole. An der Ausgabe sollte sich nichts verändert haben. 5. Beenden Sie Tomcat und starten Sie Tomcat anschließend erneut. Danach führen Sie den Client erneut aus. 6. Öffnen Sie die folgende Datei im Editor ihrer Wahl: $TOMCAT_HOME/webapps/axis2/WEB-INF/conf/axis2.xml 7. Setzen Sie den Parameter für Hotdeployment und Hotupdate auf true: <axisconfig name="axisjava2.0"> <!-- ================================================= --> <!-- Parameters --> <!-- ================================================= --> <parameter name="hotdeployment" locked="false">true</parameter> <parameter name="hotupdate" locked="false">true</parameter> 8. Starten Sie Tomcat neu. 9. Führen Sie den Client erneut aus. 10. Erweitern Sie die Methode addbuch um die Ausgabe der Methodensignatur: public int addbuch(int id, String name) { System.out.println("int addbuch(int id, String name)"); System.out.println("Buch hinzugefuegt: "+name+" id: "+id); return 0; 11. Führen Sie ein Deployment des Buch-Services durch, indem Sie das Ant-Target deploy.service ausführen. 12. Führen Sie den Client abermals aus. 13. Betrachten sei die Tomcat-Konsole.

Auszug aus Axis2 Schulung -22-3. Data Binding mit XMLBeans Übung: Einfacher Service mit XMLBeans Data Binding 1. Öffnen Sie das Projekt zoohandlungserver. 2. Betrachten Sie das folgende WSDL Dokument: resources/meta-inf/zoo.wsdl 3. Betrachten Sie die Service-Implementierung und das zugehörige Interface: axis.zoo.xmlbeans.zoohandlungserviceimpl axis.zoo.xmlbeans.zoohandlungskeletoninterface 4. Betrachten Sie den Deployment-Descriptor des Services: resources/meta-inf/services.xml 5. Betrachten Sie wie das Ant-Target generate.service in build.xml das Bauen des Service vorbereitet und dann ein generiertes Ant-Script aufruft: <target name="generate.service" depends="clean, init"> <wsdl2java wsdlfilename="${basedir/resources/meta-inf/zoo.wsdl" output="${build.dir/service" packagename="axis.zoo.xmlbeans" language="java" databindingname="xmlbeans" synconly="true" serverside="true" serversideinterface="true" namespacetopackages="http://thomasbayer.com/zoo=com.thomas_bayer.server.xmlbeans.xsd" generateservicexml="true" /> <copy file="${basedir/src/axis/zoo/xmlbeans/zoohandlungserviceimpl.java " todir="${build.dir/service/src/axis/zoo/xmlbeans/" overwrite="yes"> </copy> <copy file="${basedir/resources/meta-inf/services.xml" todir="${build.dir/service/resources/" overwrite="yes"> </copy> <ant dir="${build.dir/service" /> </target> 6. Führen Sie das Target generate.service aus. 7. Betrachten Sie die generierten Dateien im build Verzeichnis. 8. Nehmen Sie das generierte Verzeichnis build/service/src in den Build-Path auf. 9. Fehler auf Grund von doppelten Klassen sollten jetzt angezeigt werden.

Auszug aus Axis2 Schulung -23- Bild6: Generierter Code für Service 10. Excludieren Sie die beiden generierten Klassen vom Build-Path. 11. Passen Sie die Ant-Property axis.services entsprechend an, um ein Deployment im Tomcat durchführen zu können. 12. Führen Sie das Ant-Target deploy.service aus. 13. Kontrollieren Sie in der Axis2-Webanwendung ob das Deployment erfolgreich war. Tipp: Entwickeln mit Eclipse Führen Sie nach jedem Aufruf eines Ant-Tasks der Code generiert ein Refresh auf Projektebene durch. Oder lassen Sie Eclipse automatisch einen Refresh nach dem Ausführen eines Ant-Targets durchführen.

Auszug aus Axis2 Schulung -29-4. Asynchrone Clients Übung: Asynchroner Bestellen-Client 1. Wechseln Sie in das Projekt zoohandlungclient. 2. Sorgen Sie dafür, dass ein Stub erzeugt wird, der asynchrone Aufrufe ermöglicht. <wsdl2java wsdlfilename="http://localhost:8080/axis2/services/zoohandlung?wsd l" output="${build.dir/client" packagename="axis.zoo.xmlbeans.stub" databindingname="xmlbeans" namespacetopackages="http://thomasbayer.com/zoo=com.thomas_bayer.server.xmlbeans.xsd" language="java" synconly="false" /> 3. Betrachten Sie die generierte Callback-Klasse: axis.zoo.xmlbeans.stub.zoohandlungcallbackhandler 4. Erstellen Sie die folgende Klasse, die von der abstrakten Klasse ZooHandlungCallbackHandler erbt. package axis.zoo.xmlbeans; import com.thomas_bayer.zoo.bestellenresponsedocument; import axis.zoo.xmlbeans.stub.zoohandlungcallbackhandler; public class ZooHandlungCallback extends ZooHandlungCallbackHandler { boolean fertig; @Override public void receiveresultbestellen(bestellenresponsedocument param2) { System.out.println("Ergebnis ist da"); fertig=true; public boolean isfertig() { return fertig;

Auszug aus Axis2 Schulung -30-5. Rufen Sie anstelle von bestellen die Methode startbestellen auf und übergeben Sie eine Instanz der Klasse ZooHandlungCallback. ZooHandlungCallback callback=new ZooHandlungCallback(); stub.startbestellen(bestellung, callback); System.out.println("Bestellung verschickt"); while(!callback.isfertig()){ Thread.sleep(100); 6. Führen Sie den Client aus.

Auszug aus Axis2 Schulung -31- Übung: Transport asynchroner Aufruf mit WS-Addressing 1. Wechseln Sie in das Projekt zoohandlungclient-asynclient. 2. Erweitern Sie die Klasse ZooHandlungClient um folgende Zeilen: stub._getserviceclient().engagemodule(new QName("addressing")); stub._getserviceclient().getoptions().setuseseparatelistener(true) ; 3. Führen Sie den Client aus und betrachten Sie ggf. die Fehlermeldung. 4. Falls das addressing-modul nicht gefunden werden konnte, können wir einen ConfigurationContext erzeugen, der ein bestehendes Repository verwendet. Wir verwenden das Repository der Binary-Distribution. Dazu erweitern wir den Client wie folgt: ConfigurationContext configcontext=configurationcontextfactory.createconfigurationconte xtfromfilesystem("d:\\java\\axis2-1.1.1-binary\\repository", "D:\\java\\axis2-1.1.1-binary\\conf\\axis2.xml"); ZooHandlungStub stub=new ZooHandlungStub(configContext, "http://localhost:2000/axis2/services/zoohandlung"); Vergessen Sie nicht, die Pfade an Ihre Installation anzupassen. 5. Führen Sie den Client aus und betrachten Sie ggf. genau die Fehlermeldung. 6. Da wir Server und Client auf einem Rechner betreiben und beide den gleichen Port benutzen, kommt es zu einem Konflikt. Um das zu verhindern, ändern wir den Port für den transportreceiver in der axis2.xml auf 8081. <transportreceiver name="http" class="org.apache.axis2.transport.http.simplehttpserver"> <parameter name="port" locked="false">8081</parameter> </transportreceiver> 7. Führen Sie den Client aus. 8. Betrachten Sie die Anfrage im TCP-Monitor. Frage: Welche WS-Addressing Elemente wurden verwendet? Frage: Warum sehen wir die Antwort des Servers nicht im TCP-Monitor? Hinweis: Durch das Verwenden eines separaten Listeners fährt der Client einen Standalone-Server hoch, der auf Ergebnisse des Servers lauscht. Daher wird der Client nicht beim Erreichen des Endes der Main-Methode beendet.

Auszug aus Axis2 Schulung -34- Übung: Enumeration Kategorie 1. Erweitern Sie das Schema zoo.xsd des zoohandlungserver um das Element Kategorie <complextype name="tiertype"> <sequence> <element name="id" type="integer"/> <element name="name" type="string"/> <element name="kategorie"> <simpletype> <restriction base="string"> <enumeration value="vogel"/> <enumeration value="reptil"/> <enumeration value="insekt"/> </restriction> </simpletype> </element> </sequence> </complextype> 2. Führen Sie das Ant-Target deploy.service aus. 3. Betrachten Sie das WSDL Dokument des Services. 4. Geben Sie die Kategorie in der Service-Implementierung aus. 5. Wechseln Sie zum Projekt zoohandlungclient. 6. Führen Sie das Ant-Target generate.client aus. 7. Erweitern Sie den Client um die Angabe einer Kategorie: tier.setkategorie(tiertype.kategorie.reptil); 8. Führen Sie den Client aus und betrachten Sie die Ausgabe in der Tomcat-Konsole.

Auszug aus Axis2 Schulung -36-6. Handler Übung: LogHandler 1. Erstellen Sie eine Klasse LogHandler, die von AbstractHandler erbt. package com.thomas_bayer.axis2; import org.apache.axis2.axisfault; import org.apache.axis2.context.messagecontext; import org.apache.axis2.handlers.abstracthandler; public class LogHandler extends AbstractHandler { public InvocationResponse invoke(messagecontext ctx) throws AxisFault { System.out.println(ctx.getEnvelope().toString()); return InvocationResponse.CONTINUE; 2. Editieren Sie die Konfigurationsdatei axis2.xml. Erweitern Sie die OperationInPhase im InFlow um ein Handler-Element:... <phaseorder type="inflow"> <phase name="operationinphase"> <handler name="loghandler" class="com.thomas_bayer.axis2.loghandler"> <order phase="operationinphase" /> </handler> </phase> </phaseorder> 3. Führen Sie einen Client aus und betrachten Sie die Konsole.