[
https://issues.apache.org/jira/browse/DOSGI-252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16802931#comment-16802931
]
Amichai Rothman commented on DOSGI-252:
---------------------------------------
When leaving out the context as suggested, both /cxf/service1/v1 and
/cxf/service2/v1 work properly.
However when both services (in my case in different bundles) also have
context=/api, then /api/service1/v1 works but /api/service2/v1 does not, and
the log shows:
org.osgi.framework.ServiceException: CXF DOSGi: problem registering CXF HTTP
Servlet
at
org.apache.cxf.dosgi.common.httpservice.HttpServiceManager.registerServlet(HttpServiceManager.java:100)
~[?:?]
at
org.apache.cxf.dosgi.common.handlers.BaseDistributionProvider.createBus(BaseDistributionProvider.java:67)
~[?:?]
at
org.apache.cxf.dosgi.dsw.handlers.rest.RsProvider.exportService(RsProvider.java:141)
~[?:?]
at
org.apache.aries.rsa.core.RemoteServiceAdminCore.exportService(RemoteServiceAdminCore.java:212)
~[?:?]
at
org.apache.aries.rsa.core.RemoteServiceAdminCore.exportService(RemoteServiceAdminCore.java:117)
~[?:?]
at
org.apache.aries.rsa.core.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:57)
~[?:?]
at
org.apache.aries.rsa.core.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:55)
~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at
org.apache.aries.rsa.core.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:55)
~[?:?]
at
org.apache.aries.rsa.core.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:39)
~[?:?]
at
org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.exportServiceUsingRemoteServiceAdmin(TopologyManagerExport.java:157)
[115:org.apache.aries.rsa.topology-manager:1.11.0]
at
org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.doExport(TopologyManagerExport.java:127)
[115:org.apache.aries.rsa.topology-manager:1.11.0]
at
org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.access$000(TopologyManagerExport.java:55)
[115:org.apache.aries.rsa.topology-manager:1.11.0]
at
org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport$1.run(TopologyManagerExport.java:99)
[115:org.apache.aries.rsa.topology-manager:1.11.0]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[?:?]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: org.osgi.service.http.NamespaceException: alias: '/api' is already
in use in this or another context
at
org.ops4j.pax.web.service.spi.model.ServerModel.addServletModel(ServerModel.java:124)
~[?:?]
at
org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:243)
~[?:?]
at
org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:223)
~[?:?]
at
org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:207)
~[?:?]
at
org.ops4j.pax.web.service.internal.HttpServiceProxy.registerServlet(HttpServiceProxy.java:69)
~[?:?]
at
org.apache.cxf.dosgi.common.httpservice.HttpServiceManager.registerServlet(HttpServiceManager.java:94)
~[?:?]
... 16 more
> Unable to export RS services with same addresses and different contexts
> -----------------------------------------------------------------------
>
> Key: DOSGI-252
> URL: https://issues.apache.org/jira/browse/DOSGI-252
> Project: CXF Distributed OSGi
> Issue Type: Bug
> Affects Versions: 2.0.0
> Reporter: Dmytro Pishchukhin
> Priority: Major
>
> I've tried to export RS services with such urls:
> {noformat}
> http://<default_host>:<default_port>/service1/v1
> http://<default_host>:<default_port>/service2/v1
> {noformat}
> if I use only
> {noformat}
> org.apache.cxf.rs.httpservice.context=/service1/v1
> org.apache.cxf.rs.httpservice.context=/service2/v1
> {noformat}
> I receive an exception
> {noformat}
> org.apache.cxf.service.factory.ServiceConstructionException
> at
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:219)
> ...
> Caused by: org.apache.cxf.service.factory.ServiceConstructionException: There
> is an endpoint already running on /.
> at
> org.apache.cxf.jaxrs.JAXRSBindingFactory.addListener(JAXRSBindingFactory.java:85)
> {noformat}
> If I use
> {noformat}
> org.apache.cxf.rs.httpservice.context=/service1
> org.apache.cxf.rs.address=/v1
> org.apache.cxf.rs.httpservice.context=/service2
> org.apache.cxf.rs.address=/v1
> {noformat}
> I receive another exception
> {noformat}
> org.apache.cxf.service.factory.ServiceConstructionException
> at
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:219)
> ...
> Caused by: org.apache.cxf.service.factory.ServiceConstructionException: There
> is an endpoint already running on /v1.
> at
> org.apache.cxf.jaxrs.JAXRSBindingFactory.addListener(JAXRSBindingFactory.java:85)
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)