2017-07-13 4 views
0

Ich bin ein Neuling mit JBoss Fuse und ich möchte einen Pass-Through-Proxy mit Jboss Fuse verfügbar machen.Expose ein Pass-Through-Proxy mit Jboss Fuse

Ich verwende JBoss EAP 6.4, in dem ich die JBoss Fuse 6.3 installiert habe. Ich habe auch Red Hat JBoss Developer Studio 10.4.0.GA heruntergeladen und ich habe einige neue Fuse Integration Projekte in Spring DSL gestartet.

Die Grundidee besteht darin, eine Fuse zu erstellen, die als Front-Layer eines SOAP-Webdienstes fungiert, um die Drosselung und einige andere Funktionen von Fuse zu nutzen.

Könnten Sie mich bitte beraten, wenn dies machbar ist?

Vielen Dank im Voraus!

EDIT: Ich war auf der Suche etwas wie folgt aus:

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="  http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> 
    <camelContext id="_camelContext1" xmlns="http://camel.apache.org/schema/spring"> 
    <route id="_route1"> 
     <from id="_from1" uri="cxf:beanId:address"/> 
     <to id="_to1" uri="cxf:beanId:address"/> 
    </route> 
    </camelContext> 
</beans> 

Aber ich brauche die SOAP (CXF) Web-Service zu implementieren, die vor dem Camel Weg stehen wird. Liege ich falsch?

Antwort

0

Sie können versuchen, mit Apache Camel zu experimentieren.

Hören von einigen Port und eingehenden Anfragen an den SOAP-Web-Service, hier ist ein Beispiel:

<camelContext xmlns="http://camel.apache.org/schema/blueprint" id="PassThroughProxy" > 

    <route id="ProxyRoute"> 
     <from uri="jetty:http://0.0.0.0:8080?matchOnUriPrefix=true"/> 
     <log message="Incoming message - headers: ${headers}" /> 
     <log message="Incoming message - payload: ${body}" /> 
     <to uri="bean:someProcessorHere" /> 
     <to uri="http://soap.somewhere.net:80?bridgeEndpoint=true&amp;throwExceptionOnFailure=false"/> 
    </route> 

</camelContext> 

Verwendung Jetty component als Input, Prozess HTTP-Header und/oder Körper mit Camel (Prozessor, Routen, .. .), verwenden Sie dann HTTP component als Client für den echten Webdienst.

Sie können SSL-Unterstützung, benutzerdefinierte Header-Behandlung und so weiter konfigurieren.


Wenn ich Sie wäre, würde ich einige spezielle Stück Software verwenden, um diesen Job zu tun, wie Nginx.

+0

Hallo Alessandro, Vielen Dank für Ihre Antwort. Was, wenn ich auch die WSDL verfügbar machen möchte, damit die Clients von Camel darauf zugreifen können? – sifis

+0

Clients können auf ** alles ** im SOAP-Webdienst zugreifen, da der Proxy (fast) transparent ist. Eine ** GET ** Anfrage auf "http: //passproxy.net: 8080/ws /? Wsdl" gibt Ihnen die WSDL zurück. –

+0

Hallo nochmal, ich habe vergessen zu erwähnen, dass die zwei WSDLs (einer von Camel und einer von Back Web Service) unterschiedliche Namespaces haben. – sifis

Verwandte Themen