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.3.2. Ein Router-Projekt erstellen
3.2.1. Überblick Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Dieser Abschnitt beschreibt das Generieren eines Router-Projekts, das als Proxy für den in Abschnitt 3.1, »Erstellen eines Web-Dienst-Projekts« beschriebenen WS-Server fungiert. Der Startpunkt für dieses Projekt ist der 
karaf-camel-cbr-archetype Maven-Archetyp.
			3.2.2. Voraussetzungen Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Dieses Projekt hängt vom 
cxf-basic Projekt ab und erfordert, dass Sie das cxf-basic Projekt bereits wie in Abschnitt 3.1, »Erstellen eines Web-Dienst-Projekts« beschrieben generiert und erstellt haben.
			3.2.3. Ein Projekt von der Befehlszeile erstellen Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Öffnen Sie eine Befehlszeile und ändern Sie das Verzeichnis zum 
get-started Verzeichnis. Sie können jetzt das archetype:generate Ziel für das Aufrufen des karaf-camel-cbr-archetype Archetyps verwenden, der eine einfache Apache Camel Demonstration 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/camel-basic Verzeichnis befinden.
			3.2.4. Hinzufügen der benötigten Maven Abhängigkeit Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Da die Route die Apache Camel Jetty Komponente verwendet, müssen Sie eine Maven Abhängigkeit am 
camel-jetty Artifakt hinzufügen, damit die JAR-Dateien dem Klassenpfad hinzugefügt werden. Um die Abhängigkeit hinzuzufügen, bearbeiten Sie die camel-basic/pom.xml Datei und fügen Sie die folgende, gekennzeichnete Abhängigkeit als dem dependencies Element untergeordnet hinzu:
			3.2.5. Bearbeiten der Route Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Sie werden die vom Archetyp generierte Standardroute bearbeiten und diese in eine Route ändern, die eine HTTP-Bridge implementiert. Diese Bridge wird zwischen dem WS Client und dem Webdienst eingefügt, und ermöglicht uns das Anwenden von Routing-Logik an den die Route passierenden WSDL-Nachrichten.
			
				Öffnen Sie mit dem Texteditor Ihrer Wahl 
camel-basic/src/main/resources/OSGI-INF/blueprint/cbr.xml. Entfernen Sie das vorhandene camelContext Element und ersetzen Sie es durch das camelContext Element, das im folgnden Beispiel gekennzeichnet ist:
			
				Das 
from Element definiert einen HTTP-Server-Port, der auf TCP Port 8282 horcht. Das to Element definiert einen HTTP-Client-Endpunkt, der eine Verbindung mit dem echten Webdienst herzustellen versucht, der auf TCP Port 8181 horcht. Um die Route interessanter zu gestalten, fügen wir ein delay Element hinzu, das eine Verzögerung von fünf Sekunden (5000 Millisekunden) bei allen Anfragen bewirkt, die die Route passieren.
			
				Eine ausführliche Erörterung und Erklärung der HTTP-Bridge finden Sie unter Proxying mit HTTP.
			
3.2.6. Ändern des Port im Web-Client Test Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Standardmäßig verbindet sich der Web-Client an Port 8181 direkt mit dem Web-Server. Um die HTTP-Bridge zu testen, wollen wir jedoch den Web-Client mit dem von der HTTP-Bridge offengelegten Jetty-Port verbinden, der auf Port 8282 horcht. Wir müssen daher die folgende Zeile im 
cxf-basic Projekt bearbeiten:
			cxf-basic/src/test/java/org/fusesource/example/SoapTest.java
cxf-basic/src/test/java/org/fusesource/example/SoapTest.java
				Öffnen Sie die 
SoapTest.java Datei in einem Texteditor Ihrer Wahl und suchen Sie die folgende Zeile:
			URLConnection connection = new URL("http://localhost:8181/cxf/HelloWorld").openConnection();
URLConnection connection = new URL("http://localhost:8181/cxf/HelloWorld").openConnection();
				Ändern Sie die Nummer des Ports in dieser Zeile von 8181 zu 8282, wie im folgenden Auszug dargestellt:
			
URLConnection connection = new URL("http://localhost:8282/cxf/HelloWorld").openConnection();
URLConnection connection = new URL("http://localhost:8282/cxf/HelloWorld").openConnection();
3.2.7. Führen Sie den Build des Router-Projekts durch Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Führen Sie den Build des Router-Projekts aus und installieren Sie die generierte JAR-Datei in Ihrem lokalen Maven Repository. Geben Sie in einer Befehlseingabe die folgenden Befehle ein:
			
cd camel-basic mvn install
cd camel-basic
mvn install
3.2.8. Bereitstellen und Starten der Route Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Falls Sie den Red Hat JBoss Fuse Container noch nicht gestartet und das Webdienst-Bündel noch nicht bereitgestellt haben, so tun Sie dies jetzt—siehe »Bereitstellen und Starten des WS-Servers«.
			
				Um die 
camel-basic Route 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/camel-basic/1.0-SNAPSHOT
JBossFuse:karaf@root> install -s mvn:org.fusesource.example/camel-basic/1.0-SNAPSHOT
				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: 230
Bundle ID: 230
3.2.9. Testen der Route mit dem WS-Client Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
				Das 
cxf-basic Projekt beinhaltet einen einfachen WS-Client, der zum Testen der bereitgestellten Route und des 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 ../cxf-basic mvn -Ptest
cd ../cxf-basic
mvn -Ptest
				Läuft der Client erfolgreich, so erscheint eine der folgenden ähnliche Ausgabe:
			
------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.fusesource.example.SoapTest
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.fusesource.example.SoapTest
				Nach einer Verzögerung von fünf Sekunden, erscheint die folgende Antwort:
			
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: 5.153 sec - in 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: 5.153 sec - in org.fusesource.example.SoapTest