JBoss Fuse 6.3 - camel-jetty代理更改网址

时间:2017-02-13 09:42:50

标签: proxy jboss apache-camel jetty

我遇到了骆驼码头的问题。我在新的JBoss Fuse 6.3中使用来自JBoss Fuse 6.2.1的原始camelContext。整合项目。

从网址请求(例如esb.mydomain.com/test)被重定向到目标网址(例如localhost:8080 / myservice),并且在6.2.1版本中保留了网络浏览器中的网址(esb.mydomain.com/test)

但是当我在JBoss Fuse 6.3中尝试相同的时候。完成重定向但更改了url(localhost:8080 / myservice)。

有骆驼语境:

<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd                            http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
<camelContext id="_context1" xmlns="http://camel.apache.org/schema/blueprint">
    <route id="TestRoute">
        <from id="_from1" uri="jetty:http://0.0.0.0/test?matchOnUriPrefix=true"/>
        <to id="_to1" uri="jetty:http://localhost:8080/myservice?bridgeEndpoint=true&amp;throwExceptionOnFailure=false"/>
    </route>
</camelContext>

你知道哪里有问题吗?

已更新

我试图一次又一次地改变路线:)我发现了以下奇怪的行为

此路线重定向到Google并从路线添加网址参数: google.com?bridgeEndpoint=true&throwExceptionOnFailure=false

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<routes xmlns="http://camel.apache.org/schema/spring">
    <route customId="true" id="httpBridge">
        <from uri="jetty:http://0.0.0.0/test?matchOnUriPrefix=true"/>
        <to uri="jetty:https://google.com?bridgeEndpoint=true&amp;throwExceptionOnFailure=false" customId="true" id="to2"/>
    </route>
</routes>

这可以作为代理(桥接)。没有重定向。 Google当然会显示404,因为http://google.cz/x不存在。但浏览器中的网址没有变化(jboss-fuse-6308331.cloudapp.net/test)

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<routes xmlns="http://camel.apache.org/schema/spring">
    <route customId="true" id="httpBridge">
        <from uri="jetty:http://0.0.0.0/test?matchOnUriPrefix=true"/>
        <to uri="jetty:https://google.com/x?bridgeEndpoint=true&amp;throwExceptionOnFailure=false" customId="true" id="to2"/>
    </route>
</routes>

在“google”uri的末尾只有一个字母“x”。例如,字母“a”重定向到Google,如上例所示:(

0 个答案:

没有答案