Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.Kapitel 3. Erste Schritte beim Entwickeln
Zusammenfassung
					Dieses Kapitel erläutert, wie Sie mit der auf Maven basierenden Entwicklung beginnen. Ein zweiteiliges Projekt illustriert, wie Applikationen mittels Apache CXF und Apache Camel entwickelt werden.
				
3.1. Erstellen eines Web-Dienst-Projekts Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
3.1.1. Überblick Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Dieser Abschnitt beschreibt das Generieren eines einfachen Webdienst-Projekts, das den vollständigen Demo-Code für einen Server und Test-Client beinhaltet. Der Startpunkt für dieses Projekt ist der 
karaf-soap-archetype Maven Archetyp, bei dem es sich um einen Befehlszeilen-Assistenten handelt, der das gesamte Projekt von Grund auf erstellt. Es wird eine Anleitung für den Build des Projekts, die Bereitstellung des Servers für den Red Hat JBoss Fuse Container und das Ausführen des Test-Client geliefert.
			3.1.2. Voraussetzungen Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Um vom Maven Repository auf Artifakte zuzugreifen, müssen Sie das 
fusesource Repository zu Mavens settings.xml Datei hinzufügen. Maven sucht am folgenden Standard-Speicherort nach der settings.xml Datei:
			- UNIX:
home/User/.m2/settings.xml - Windows:
Documents and Settings\User\.m2\settings.xml 
				Existiert derzeit keine 
settings.xml Datei an diesem Speicherort, so müssen Sie eine neue settings.xml Datei erstellen. Bearbeiten Sie die settings.xml Datei durch Hinzufügen des repository Elements für fusesource, wie im folgenden Beispiel gezeigt:
			3.1.3. Ein Projekt von der Befehlszeile erstellen Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Sie können ein Maven-Projekt direkt von der Befehlszeile aus erstellen, indem Sie das 
archetype:generate »Goal« aufrufen. Zuerst erstellen Sie ein Verzeichnis, das Ihre ersten Projekte enthält. Öffnen Sie eine Befehlszeile, navigieren Sie zu einem Speicherort Ihrer Wahl in Ihrem Dateisystem und erstellen Sie das get-started Verzeichnis wie folgt:
			mkdir get-started cd get-started
mkdir get-started
cd get-started
				Sie können jetzt das 
archetype:generate Goal für das Aufrufen des karaf-soap-archetype Archetyps verwenden, der ein einfaches Apache CXF Demo generiert:
			Anmerkung
					Die Argumente des vorangehenden Befehls werden der Lesbarkeit halber in separaten Zeilen dargestellt, aber wenn Sie den Befehl tatsächlich eingeben, so muss dies in einer einzelnen Zeile erfolgen.
				
				Eine der folgenden ähnliche Nachricht fordert Sie zur Bestätigung der Projekteinstellungen auf:
			
				Tippen Sie Return, um die Einstellungen zu akzeptieren und das Projekt zu generieren. Nach Beenden des Befehls sollte sich ein neues Maven Projekt im 
get-started/cxf-basic Verzeichnis befinden.
			3.1.4. Anpassen der Web-Client Testnachricht Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Passen Sie die Testnachricht des Beispiel-Client derart an, dass sie den korrekten XML-Namespace verwendet. Bearbeiten Sie die 
cxf-basic/src/test/resources/request.xml Datei, wobei Sie die xmlns:ns2="http://soap.quickstarts.fabric8.io/" Namespace-Einstellung durch xmlns:ns2="http://example.fusesource.org/" ersetzen.
			
				Nach dem Bearbeiten der 
request.xml Datei sollten die Inhalte wie folgt aussehen:
			3.1.5. Build des Web-Dienst-Projekts Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Führen Sie den Build des Web-Dienste Projekts aus und installieren Sie die generierte JAR-Datei in Ihrem lokalen Maven Repository. Geben Sie in einer Befehlseingabe die folgenden Befehle ein:
			
cd cxf-basic mvn install
cd cxf-basic
mvn install
3.1.6. Initialisieren der Container-Sicherheit Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Falls Sie es nicht bereits getan haben, erstellen Sie einen (oder mehrere) Benutzer, indem Sie der 
InstallDir/etc/users.properties Datei eine Zeile in der folgenden Form hinzufügen:
			Username=Password[,RoleA][,RoleB]...
Username=Password[,RoleA][,RoleB]...
				Mindestens einer der Benutzer muss die 
Administrator Rolle besitzen, um die Administration des Fabric zu aktivieren. Zum Beispiel:
			admin=secretpassword,Administrator
admin=secretpassword,Administrator
3.1.7. Starten des Containers Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Starten Sie den JBoss Fuse Container. Öffnen Sie eine neue Befehlseingabe und geben Sie folgende Befehle ein:
			
cd InstallDir/bin ./fuse
cd InstallDir/bin
./fuse
				Sie sehen einen dem folgenden ähnlichen Begrüßungsbildschirm:
			
3.1.8. Bereitstellen und Starten des WS-Servers Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Um den 
cxf-basic Web-Dienst als ein OSGi-Bündel zu installieren und zu starten, geben Sie den folgenden Konsolenbefehl ein:
			JBossFuse:karaf@root> install -s mvn:org.fusesource.example/cxf-basic/1.0-SNAPSHOT
JBossFuse:karaf@root> install -s mvn:org.fusesource.example/cxf-basic/1.0-SNAPSHOT
Anmerkung
					Falls sich Ihr lokales Maven Repository an einem nicht standardmäßigen Speicherort befindet, so ist es möglich, dass Sie den Wert der 
org.ops4j.pax.url.mvn.localRepository Eigenschaft in der InstallDir/etc/org.ops4j.pax.url.mvn.cfg  Datei anpassen müssen, ehe Sie das mvn: Schema für den Zugriff auf Maven Artifakte verwenden können.
				
				Wurde das Bündel erfolgreich aufgelöst und installiert, so antwortet der Container mit der ID des neu erstellten Bündels—zum Beispiel:
			
Bundle ID: 265
Bundle ID: 265
3.1.9. Überprüfen Sie, ob das Bündel gestartet wurde Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Um zu überprüfen, ob das Bündel gestartet wurde, geben Sie den Konsolenbefehl 
list ein, der Ihnen den Status aller im Container installierter Bündel liefert:
			JBossFuse:karaf@root> list
JBossFuse:karaf@root> list
				Gegen Ende der Liste, sollte eine Statuszeile ähnlich dieser sichtbar sein:
			
[ 265] [Installed ] [ ] [ ] [ 80] JBoss Fuse Quickstart: soap (1.0.0.SNAPSHOT)
[ 265] [Installed  ] [            ] [       ] [   80] JBoss Fuse Quickstart: soap (1.0.0.SNAPSHOT)
Anmerkung
					Um Unordnung zu vermeiden zeigt der 
list Befehl nur Bündel mit einem Startlevel ab 50 an (was die meisten Systembündel ausschließt).
				3.1.10. Ausführen des WS-Client Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Das 
cxf-basic Projekt beinhaltet auch einen einfachen WS-Client, der zum Testen des bereitgestellten Webdienstes verwendet werden kann. Navigieren Sie in einer Befehlszeile in das cxf-basic Verzeichnis und führen Sie den einfachen WS-Client wie folgt aus:
			cd get-started/cxf-basic mvn -Ptest
cd get-started/cxf-basic
mvn -Ptest
				Läuft der Client erfolgreich, so erscheint eine der folgenden ähnliche Ausgabe:
			
Running org.fusesource.example.SoapTest the response is ====> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:sayHiResponse xmlns:ns2="http://example.fusesource.org/"><return>Hello John Doe</return></ns2:sayHiResponse></soap:Body></soap:Envelope> Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.184 sec - in org.fusesource.example.SoapTest
Running org.fusesource.example.SoapTest
the response is ====> 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:sayHiResponse xmlns:ns2="http://example.fusesource.org/"><return>Hello John Doe</return></ns2:sayHiResponse></soap:Body></soap:Envelope>
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.184 sec - in org.fusesource.example.SoapTest
3.1.11. Fehlerbehandlung Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Falls Sie Probleme beim Ausführen des Client haben, so gibt es eine noch einfachere Weise, um den Webdienst zu verbinden. Öffnen Sie den Webbrowser Ihrer Wahl und navigieren Sie zu der folgenden URL, um den JBoss Fuse Jetty Container zu kontaktieren:
			
http://localhost:8181/cxf
http://localhost:8181/cxf
				Um die WSDL direkt vom HelloWorld Webdienst abzufragen, navigieren Sie zu der folgenden URL:
			
http://localhost:8181/cxf/HelloWorld?wsdl
http://localhost:8181/cxf/HelloWorld?wsdl