1

apache-servicemix-4.3.0-fuse-03-00.tar.gzに同梱されているcxf-jaxrsの例を使用して、さまざまなRESTfulサービスを提供する複数のバンドルをデプロイする方法を調査しています。私が行ったことは、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"> 

それから私は2つのパッケージを作りました。1つは元のサンプルパッケージcxf-jaxrs-4.3.0-fuse-03-00.jarで、もう1つは変更されたcxf-jaxrs-4.3.0-2-fuse-03-00.jarで、コピーしました。 「デプロイ」ディレクトリに。

servicemixを開始した後、両方のバンドルがアクティブであり、正常に開始されていることがわかります。

ただし、RESTfulサービスにアクセスできるのは1つのバンドルのみです。「http:// localhost:8080 / cxf / crm2 / customerservice / customers / 123」と入力すると、「サービスが見つかりませんでした」というメッセージが表示されます。エラー。また、他のサンプルバンドル(元のバンドル)を停止すると、「http:// localhost:8080 / cxf / crm2 / customerservice / customers/123」に問題なくアクセスできます。

何を間違えたの?コンテキストパス「/crm」と「/crm2」の両方でRESTfulサービスを提供することになっています。

4

1 に答える 1

0

問題は解決しました。私の悪い。CustomerServiceクラスのパスアノテーションを変更するのを忘れました

于 2011-01-03T14:45:25.460 に答える