Frage

Ich habe eine Web-Anwendung läuft auf Port 80, und ich habe eine Achse Webservice, den Teil dieser Web-Anwendung ist. Als solches läuft der Dienst auf Port 80 und

.

Doch aus Gründen der Sicherheit unserer Kunden uns die Web-Service-Port zu ändern, um 8080 aufgefordert hat, so dass sie nur Zugriff auf diesen Port für Remote-Verbraucher des Webdienstes ermöglichen kann. Daher werden sie keinen Zugang zum regulären Web-Anwendung, sondern haben Zugriff auf den Dienst.

Ist das möglich, ohne Refactoring der App und Entnehmen des Web-Service in einem separaten Web-App zu tun?

War es hilfreich?

Lösung

Wie ich in meinem Kommentar gesagt habe, ist unsere Web-Anwendung auf Oracle AS 10g gehostet mit einem Oracle Web Cache-Server vor ihm sitzt. Oracle Web Cache basiert auf Apache, so hat es virtuelle Host-Unterstützung und URL-Rewriting (obwohl es nicht vorhanden ist unter diesen Bedingungen ist).

Ich habe es geschafft, das Problem zu lösen:

Es funktioniert wie ein Charme.

Wie für Axis selbst, ich habe nicht einen Weg finden, um ihn zu konfigurieren auf einem anderen Port selbst zu hören. Ich denke, es unvernünftig war von Axis zu erwarten, dass diese Funktionalität bereitzustellen, da es nur ein Servlet in einem Servlet-Containern gehostet ist, und es ist Container Aufgabe, die Stecker / Transportschicht zur Verfügung zu stellen.

Wie auch immer ... Dank für alle, die ihre Hilfe angeboten, ich schätze es.

Andere Tipps

Die kurze Antwort wahrscheinlich ist - ja, es ist möglich.

Achse webservices meist genug von der Hauptanwendung entkoppelt, dass es sollte einfach sein, sie auf einer anderen Java-Web-Server-Instanz ausgeführt zu bekommen, das nur am Port 8080 in dem Fall laufen würde, wenn es nicht möglich ist, was Web-Server zu konfigurieren, Sie sind läuft auch am Port 8080 laufen und den Web-Service nur in diesem Hafen.

dienen

Was Sie in der Lage sein sollten, einen separaten Dienst mit einem Port 8080-Anschluss einrichten.

Effektiv würde werden Sie laufen 2 „mini“ -Tomcats in Ihrem Beispiel.

Grundsätzlich

<Service> <!-- normal service -->
  <Connector port="80" />
</Service>
<Service> <!-- custom service -->
  <Connector port="8080" />
  <Engine>
     <Host />
  </Engine>
</Service>

Es fühlt sich wie diese Lösung einige Debug-Alpträume darstellen könnte, wenn es nicht nur richtig funktioniert und so könnte es nur einfacher sein, einen zweiten Server (vielleicht Jetty) laufen zu lassen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top