user6277355
user6277355

Reputation:

Expose a Pass-Through proxy with Jboss Fuse

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

Answers (1)

Alessandro Da Rugna
Alessandro Da Rugna

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&amp;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

Related Questions