Probleme mit dem Ersetzen von Pfadvariablen in der URL in Apache Camel während des Unit -Tests (Port standardmäßig 80).
Posted: 27 Feb 2025, 11:28
Ich arbeite an einem Projekt, das Apache Camel verwendet, und versuche, eine Pfadvariable in einer Service -URL mit einem Header dynamisch zu ersetzen. Die URL ist aus dem Formular:
/abc/v1/{clientID}/Lookup
In meiner Route ersetze ich {clientid} durch den tatsächlichen Wert aus dem folgenden Code:
Dies funktioniert perfekt, wenn die Anwendung normal ausgeführt wird, und der Wert von ClientID wird zur Laufzeit dynamisch ersetzt. Beim Ausführen meiner JUNIT -Tests stoße ich jedoch auf ein Problem, bei dem der Port der URL automatisch in Port 80 geändert wird, unabhängig davon, welchen Port ich in meiner Scheinservice -Konfiguration angeben. Port. < /p>
Kann mir bitte jemand helfen? Wenn ich diese Zeile entferne:
Dann funktioniert mein Unit -Testcode einwandfrei.
/abc/v1/{clientID}/Lookup
In meiner Route ersetze ich {clientid} durch den tatsächlichen Wert aus dem folgenden Code:
Code: Select all
.setHeader(Exchange.HTTP_URI, builder.simple(serviceUrl.replace("{clientId}", "${header.clientId}")))
Dies funktioniert perfekt, wenn die Anwendung normal ausgeführt wird, und der Wert von ClientID wird zur Laufzeit dynamisch ersetzt. Beim Ausführen meiner JUNIT -Tests stoße ich jedoch auf ein Problem, bei dem der Port der URL automatisch in Port 80 geändert wird, unabhängig davon, welchen Port ich in meiner Scheinservice -Konfiguration angeben. Port. < /p>
Kann mir bitte jemand helfen? Wenn ich diese Zeile entferne:
Code: Select all
.setHeader(Exchange.HTTP_URI, builder.simple(serviceUrl.replace("{clientId}", "${header.clientId}")))