我正在使用apache-servicemix-4.3.0-fuse-03-00.tar.gz附带的示例cxf-jaxrs来研究如何部署提供不同RESTful服务的多个bundle。我所做的是将cxf-jaxrs示例复制到cxf-jaxrs-example-1中,并修改了pom.xml和beans.xml。修改是:
1. pom.xml
version: 4.3.0-2-fuse-03-00
name: Apache ServiceMix Example 2:: CXF JAX-RS OSGI
2. beans.xml
<jaxrs:server id="customerService2" address="/crm2">
然后我做了两个包。一个是原始示例包cxf-jaxrs-4.3.0-fuse-03-00.jar,另一个是修改后的一个cxf-jaxrs-4.3.0-2-fuse-03-00.jar我复制了它们进入“部署”目录。
在servicemix启动后,我看到两个捆绑包都处于活动状态并成功启动。
但是,我只能在一个包中访问RESTful服务。当我输入“http:// localhost:8080 / cxf / crm2 / customerservice / customers / 123”时,我收到“未找到服务”。错误。当我停止另一个示例包(原始包)时,我可以毫无问题地访问“http:// localhost:8080 / cxf / crm2 / customerservice / customers / 123”。
我做错了什么?它应该在上下文路径“/ crm”和“/ crm2”中提供RESTful服务。
答案 0 :(得分:0)
问题解决了。我的错。我忘了修改客户服务类
上的路径注释