[ https://issues.apache.org/jira/browse/DOSGI-251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christian Schneider updated DOSGI-251: -------------------------------------- Description: Currently it is necessary to define 3 service properties to export a SOAP or REST service: service.exported.interfaces=* service.exported.configs=org.apache.cxf.rs org.apache.cxf.rs.address=/tasks SOAP service: service.exported.interfaces=* service.exported.configs=org.apache.cxf.ws org.apache.cxf.ws.address=/taskservice This can be simplified by using the Aries RSA ExportPolicy. CXF-DOSGi can define an ExportPolicy service that just looks for the address property and then adds the other two properties. This policy has to be configured as a system property to work: rsa.export.policy.filter=(name=cxf) This makes the TopologyManager pick up the policy. Using the ExportPolicy it will then be possible to export services like this: REST service: org.apache.cxf.rs.address=/tasks SOAP service: org.apache.cxf.ws.address=/taskservice I also considered to make it work by just using the @Webservice and @Path annotations but this does not work as CXF needs an address for the service to export. An option would be to create a custom annoation for the address but this would require the user to use a proprietary API. If anyone has a good idea how to improvide this I would be very interested. was: Currently it is necessary to define 3 service properties to export a SOAP or REST service: service.exported.interfaces=* service.exported.configs=org.apache.cxf.rs org.apache.cxf.rs.address=/tasks SOAP service: service.exported.interfaces=* service.exported.configs=org.apache.cxf.ws org.apache.cxf.ws.address=/taskservice This can be simplified by using the Aries RSA ExportPolicy. CXF-DOSGi can define an ExportPolicy service that just looks for the address property and then adds the other two properties. This policy has to be configured as a system property to work: rsa.export.policy.filter=(name=cxf) This makes the TopologyManager pick up the policy. Using the ExportPolicy it will then be possible to export services like this: REST service: org.apache.cxf.rs.address=/tasks SOAP service: org.apache.cxf.ws.address=/taskservice > Allow to export services with less service properties > ----------------------------------------------------- > > Key: DOSGI-251 > URL: https://issues.apache.org/jira/browse/DOSGI-251 > Project: CXF Distributed OSGi > Issue Type: Improvement > Components: DSW > Affects Versions: 2.0.0 > Reporter: Christian Schneider > Assignee: Christian Schneider > Fix For: 2.1.0 > > > Currently it is necessary to define 3 service properties to export a SOAP or > REST service: > service.exported.interfaces=* > service.exported.configs=org.apache.cxf.rs > org.apache.cxf.rs.address=/tasks > SOAP service: > service.exported.interfaces=* > service.exported.configs=org.apache.cxf.ws > org.apache.cxf.ws.address=/taskservice > This can be simplified by using the Aries RSA ExportPolicy. > CXF-DOSGi can define an ExportPolicy service that just looks for the address > property and then adds the other two properties. > This policy has to be configured as a system property to work: > rsa.export.policy.filter=(name=cxf) > This makes the TopologyManager pick up the policy. > Using the ExportPolicy it will then be possible to export services like this: > REST service: > org.apache.cxf.rs.address=/tasks > SOAP service: > org.apache.cxf.ws.address=/taskservice > I also considered to make it work by just using the @Webservice and @Path > annotations but this does not work as CXF needs an address for the service to > export. > An option would be to create a custom annoation for the address but this > would require the user to use a proprietary API. If anyone has a good idea > how to improvide this I would be very interested. -- This message was sent by Atlassian JIRA (v6.3.4#6332)