我遇到了骆驼码头的问题。我在新的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&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&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&throwExceptionOnFailure=false" customId="true" id="to2"/>
</route>
</routes>
在“google”uri的末尾只有一个字母“x”。例如,字母“a”重定向到Google,如上例所示:(