Reputation:
I am an newbie with JBoss Fuse and I would like to expose a Pass-Through proxy with Jboss Fuse.
I am using JBoss EAP 6.4 in which I have installed the JBoss Fuse 6.3. Also I have downloaded Red Hat JBoss Developer Studio 10.4.0.GA and I have started some new Fuse Integration Projects in Spring DSL.
The main idea is to create a Fuse which will work as a front layer of a SOAP Web Service in order to use the throttling and some others features of Fuse.
Could you please advise me, if this is feasible?
Thanks you in advance!
EDIT: I was looking something like the following:
<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>
But I need to implement the SOAP (CXF) Web Service which will be stand before the Camel route. Am I wrong?
Upvotes: 0
Views: 577
Reputation: 4695
You can try experimenting with Apache Camel.
Listen from some port and route incoming requests to the SOAP web service, here's an example:
<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&throwExceptionOnFailure=false"/>
</route>
</camelContext>
Use Jetty component as input, process HTTP headers and/or body using Camel (processor, routes, ...), then use HTTP component as a client to the real web service.
You can configure SSL support, custom headers handling and so on.
If I were you, I'd use some dedicated piece of software to do this job, like Nginx.
Upvotes: 0