Camel-CXF を使用して、バンドルから Web サービスを公開しています。構成にはブループリントを使用します。私の理解では、この CXF 構成は、指定されたポートで Jetty コネクタを動的に作成し、指定されたパスで CXF サーブレットを公開します。
<cxf:cxfEndpoint id="myEndpoint" address="http://0.0.0.0:${endpoint.port}/${context}" serviceClass="...">
<cxf:properties>
<!-- ... -->
</cxf:properties>
</cxf:cxfEndpoint>
これはうまく機能します。サービス エンドポイントは、指定されたポートとパスで利用できます。
ここで、Tomi Vanek のwsdl-viewerスタイル シートによって変換された元の WSDL を利用できるようにしたいと思います。Pax Web の DefaultResourceMapping を使用して、静的リソースを利用可能にする方法を見つけました。
<bean id="resourceMapping" class="org.ops4j.pax.web.extender.whiteboard.runtime.DefaultResourceMapping">
<property name="alias" value="/wsdl" />
<property name="path" value="/wsdl/v4_0" />
</bean>
ただし、これにより、ポート 8181 のデフォルトの Jetty コネクタで WSDL にアクセスできるようになります。私が理解できないのは、リソース マッパーをデフォルト以外のコネクタにバインドする方法です。具体的には、CXF エンドポイント用に動的に作成されたコネクタへ。