【问题标题】:Expose a Pass-Through proxy with Jboss Fuse使用 Jboss Fuse 公开 Pass-Through 代理
【发布时间】:2017-12-18 07:33:29
【问题描述】:

我是 JBoss Fuse 的新手,我想使用 JBoss Fuse 公开一个 Pass-Through 代理。

我正在使用安装了 JBoss Fuse 6.3 的 JBoss EAP 6.4。 我还下载了 Red Hat JBoss Developer Studio 10.4.0.GA,并在 Spring DSL 中启动了一些新的 Fuse 集成项目。

主要思想是创建一个 Fuse,它将作为 SOAP Web 服务的前端层,以便使用 Fuse 的限制和其他一些功能。

如果可行,请给我建议?

提前谢谢你!

编辑: 我看起来像下面这样:

<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>

但我需要实现 SOAP (CXF) Web 服务,它将站在 Camel 路线之前。我错了吗?

【问题讨论】:

    标签: jboss jbossfuse


    【解决方案1】:

    您可以尝试使用 Apache Camel。

    从某个端口侦听并将传入请求路由到 SOAP Web 服务,这是一个示例:

    <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>
    

    使用 Jetty component 作为输入,使用 Camel(处理器、路由等)处理 HTTP 标头和/或正文,然后使用 HTTP component 作为真实 Web 服务的客户端。

    您可以配置 SSL 支持、自定义标头处理等。


    如果我是你,我会使用一些专门的软件来完成这项工作,例如 Nginx

    【讨论】:

    • 你好亚历山德罗,谢谢你的回答。如果我还想公开 WSDL,以便客户端可以从 Camel 访问它怎么办?
    • 客户端可以访问 SOAP Web 服务上的一切,因为代理(几乎)是透明的。 http://passproxy.net:8080/ws/?wsdl 上的 GET 请求将返回 WSDL。
    • 你好,我忘了说这两个 WSDL(一个来自 Camel,一个来自后端 Web Service)有不同的命名空间。
    • 更清楚地说,我想创建一个像 Oracle 和 WSO2 一样的 WSDL ESB。如果你知道他们。
    • 您可能可以处理有效负载并更改 XML 字符串中的命名空间
    猜你喜欢
    • 1970-01-01
    • 2018-06-14
    • 1970-01-01
    • 2014-02-22
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多