Java Apache Camel和CXF:mutliple CXF:rsServer标记。。这可能吗?

Java Apache Camel和CXF:mutliple CXF:rsServer标记。。这可能吗?,java,rest,http-status-code-404,apache-camel,cxfrs,Java,Rest,Http Status Code 404,Apache Camel,Cxfrs,我一直在用cxf和camel制作restfulwebservices,我遇到了一个奇怪的问题,我不知道这是正常的camel行为还是什么 我有多个类作为restful服务公开,并映射到不同的路径。首先,我的配置中只有cxf,我可以同时将所有类公开为服务。现在我也在使用camel,我有如下标记: <camelcxf:rsServer id="rsServer1" address="/" serviceClass="com.something.PoiSearchI

我一直在用cxf和camel制作restfulwebservices,我遇到了一个奇怪的问题,我不知道这是正常的camel行为还是什么

我有多个类作为restful服务公开,并映射到不同的路径。首先,我的配置中只有cxf,我可以同时将所有类公开为服务。现在我也在使用camel,我有如下标记:

    <camelcxf:rsServer id="rsServer1" address="/"
            serviceClass="com.something.PoiSearchImpl">
        </camelcxf:rsServer>
 <camelcxf:rsServer id="rsServer2" address="/"
            serviceClass="com.something.FooBarImpl">
        </camelcxf:rsServer>

在此之后,我有两条路由,它们从我的cxf端点(如上所述)开始并进行一些处理。问题是只有一个服务正在工作,而另一个服务没有被调用。它给了我404找不到的错误。这是正常的还是我的配置中缺少了什么?

嗨,西科尔斯基, Hi Sikorski, Camel supports multiple cxf:rsServer. The problem with your approach is that both are mapped to an address '/'. This means that one of the servers is invoked. Camel支持多个cxf:rsServer。您的方法的问题是两者都映射到一个地址“/”。这意味着调用了其中一个服务器。 解决方案:您需要为每个rsServer提供唯一的地址,如下所示

<camelcxf:rsServer id="rsServer1" address="/Bar" serviceClass="com.something.PoiSearchImpl">
</camelcxf:rsServer>
<camelcxf:rsServer id="rsServer2" address="/Foo" serviceClass="com.something.FooBarImpl">
</camelcxf:rsServer>

现在告诉我这个有点晚了,我终于明白了。现在,我正在以一种不同的方式做这件事,它已经开始“生产”。关于你的台词“你的方法有问题”,我宁愿说问题完全是我的方法:D