I will look into making a test project. On Thu, Apr 6, 2017 at 4:05 PM, nino martinez wael < [email protected]> wrote:
> Nope did not fix it.. setScan(false) did not help.. And wondering why > swagger are not complaining, I have manually referred to the package for it > to look. > > On Thu, Apr 6, 2017 at 3:40 PM, nino martinez wael < > [email protected]> wrote: > >> Let me just check.. I think I am using the wrong version of swagger..I >> did a manual feature, for karaf... this feature should be used : >> cxf-rs-description-swagger2 >> >> Let me just verify.. >> >> On Thu, Apr 6, 2017 at 3:34 PM, Sergey Beryozkin <[email protected]> >> wrote: >> >>> Yes, sometimes setScan(false) helps >>> >>> Sergey >>> >>> On 06/04/17 14:32, Christian Schneider wrote: >>> >>>> I am not very familiar with how Swagger works. Are you sure the scan >>>> works like this in OSGi? >>>> >>>> Can you maybe put your test project into a github repo ? I am willing to >>>> invest a bit of time to help make this work as I think swagger would be >>>> a great feature for remote services. >>>> >>>> Christian >>>> >>>> On 06.04.2017 15:12, nino martinez wael wrote: >>>> >>>>> I've fiddled a lot, nothing seems to work in order to make swagger >>>>> aware of >>>>> my endpoint.. However I have swagger ui running (although since swagger >>>>> cannot see my endpoints, it's somewhat empty)... >>>>> >>>>> RSA does pickup the swagger intent, and all are "working" except it >>>>> does >>>>> not see my endpoints. I get both swagger json and yaml. >>>>> >>>>> @Component // >>>>> ( >>>>> property = "org.apache.cxf.dosgi.IntentName=swagger" >>>>> // >>>>> ) >>>>> public class SwaggerIntent implements Callable<List<Object>> { >>>>> >>>>> private String version = ""; >>>>> private String name = ""; >>>>> >>>>> @Activate >>>>> public void activate(BundleContext bundleContext) { >>>>> Dictionary<String, String> headers = >>>>> bundleContext.getBundle().getHeaders(); >>>>> version = headers.get("Bundle-Version"); >>>>> name = headers.get("Bundle-Name"); >>>>> >>>>> >>>>> } >>>>> >>>>> >>>>> @Override >>>>> public List<Object> call() throws Exception { >>>>> Swagger2Feature swagger2Feature = new Swagger2Feature(); >>>>> swagger2Feature.setBasePath("/cxf/dialer/v1/"); >>>>> swagger2Feature.setTitle(name); >>>>> swagger2Feature.setDescription(name); >>>>> swagger2Feature.setLicense("Commercial"); >>>>> swagger2Feature.setSupportSwaggerUi(true); >>>>> swagger2Feature.setContact("development@"); >>>>> swagger2Feature.setScan(true); >>>>> swagger2Feature.setScanAllResources(true); >>>>> swagger2Feature.setUsePathBasedConfig(true); >>>>> >>>>> >>>>> swagger2Feature.setPrettyPrint(true); >>>>> swagger2Feature.setVersion(version); >>>>> >>>>> return Arrays.asList((swagger2Feature)); >>>>> } >>>>> >>>>> } >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> Thanks for the mention about logger interceptors. >>>>> >>>>> >>>>> On Thu, Apr 6, 2017 at 1:50 PM, Christian Schneider >>>>> <[email protected] >>>>> >>>>>> wrote: >>>>>> How do you export the swagger intent? >>>>>> >>>>>> Btw. The interceptors property will not work but you can add the >>>>>> logging >>>>>> Feature to the swagger intent service. >>>>>> >>>>>> Christian >>>>>> >>>>>> >>>>>> On 06.04.2017 12:45, nino martinez wael wrote: >>>>>> >>>>>> Im having issue getting swagger to pickup my jaxrs endpoints... CXF >>>>>>> picks >>>>>>> them up.. >>>>>>> >>>>>>> here a short sample: >>>>>>> >>>>>>> @Path("/") >>>>>>> @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) >>>>>>> @Component(immediate = true, name = "SimpleEndPointsImpl", // >>>>>>> property >>>>>>> = // >>>>>>> { // >>>>>>> "service.exported.intents=swagger", >>>>>>> "service.exported.interfaces=*", >>>>>>> "service.exported.configs=org. >>>>>>> apache.cxf.rs", >>>>>>> "org.apache.cxf.rs.address=/dialer/v1/", >>>>>>> >>>>>>> "org.apache.cxf.rs.in.interceptors=org.apache.cxf.intercepto >>>>>>> r.LoggingInInterceptor", >>>>>>> >>>>>>> "org.apache.cxf.rs.in.interceptors=org.apache.cxf.intercepto >>>>>>> r.LoggingOutInterceptor" >>>>>>> }) >>>>>>> public class SimpleEndPointsImpl implements SimpleEndPoints { >>>>>>> >>>>>>> private BusinessService businessService; >>>>>>> private static org.slf4j.Logger logger = >>>>>>> LoggerFactory.getLogger(BackendDaoServiceUtil.class); >>>>>>> >>>>>>> /** >>>>>>> * @return Gives a full list of campaigns in the system >>>>>>> */ >>>>>>> @Path("/fullcampaigns") >>>>>>> @GET >>>>>>> @Produces({MediaType.APPLICATION_JSON, >>>>>>> MediaType.APPLICATION_XML}) >>>>>>> @Override >>>>>>> public List<FullCampaign> getAllCampaignsStatus() throws >>>>>>> CiscoAPIException, FailedSecurityException { >>>>>>> return businessService.getFullCampaigns(); >>>>>>> } >>>>>>> >>>>>>> >>>>>>> On Thu, Apr 6, 2017 at 9:54 AM, nino martinez wael < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>> I will test it now.. >>>>>>> >>>>>>>> >>>>>>>> On Thu, Apr 6, 2017 at 9:09 AM, Christian Schneider < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>> The Swagger integration provides a feature. So adding this should be >>>>>>>> >>>>>>>>> quite similar to adding the Jackson provider. >>>>>>>>> >>>>>>>>> You create an intent service like this: >>>>>>>>> https://github.com/apache/cxf-dosgi/blob/master/samples/rest >>>>>>>>> /impl-jackson/src/main/java/org/apache/cxf/dosgi/samples/res >>>>>>>>> t/impl/JacksonIntent.java >>>>>>>>> >>>>>>>>> and add it to the service: >>>>>>>>> https://github.com/apache/cxf-dosgi/blob/master/samples/rest >>>>>>>>> /impl-jackson/src/main/java/org/apache/cxf/dosgi/samples/res >>>>>>>>> t/impl/TaskResourceImpl.java#L36 >>>>>>>>> >>>>>>>>> Can you test this and give Feedback if it works. >>>>>>>>> >>>>>>>>> I also thought about supporting the @Features annotation on DOSGi >>>>>>>>> service to provide a simple way to add features that do not need >>>>>>>>> additional config. >>>>>>>>> >>>>>>>>> Christian >>>>>>>>> >>>>>>>>> On 06.04.2017 08:04, nino martinez wael wrote: >>>>>>>>> >>>>>>>>> Hi Guys >>>>>>>>> >>>>>>>>>> I've been contemplating on documentation. Currently we've gone >>>>>>>>>> down the >>>>>>>>>> offline documentation road, using enunciate[1] while it feels >>>>>>>>>> okay I've >>>>>>>>>> seen that CXF supports other directions natively[2]. I am >>>>>>>>>> wondering if >>>>>>>>>> its >>>>>>>>>> possible to use those with DOSGI? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> [1]http://enunciate.webcohesion.com/ >>>>>>>>>> [2]http://cxf.apache.org/docs/swagger2feature.html >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> >>>>>>>>> Christian Schneider >>>>>>>>> http://www.liquid-reality.de >>>>>>>>> >>>>>>>>> Open Source Architect >>>>>>>>> http://www.talend.com >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>> Best regards / Med venlig hilsen >>>>>>>> Nino Martinez >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> -- >>>>>> Christian Schneider >>>>>> http://www.liquid-reality.de >>>>>> >>>>>> Open Source Architect >>>>>> http://www.talend.com >>>>>> >>>>>> >>>>>> >>>>> >>>> >>>> >>> >>> -- >>> Sergey Beryozkin >>> >>> Talend Community Coders >>> http://coders.talend.com/ >>> >> >> >> >> -- >> Best regards / Med venlig hilsen >> Nino Martinez >> > > > > -- > Best regards / Med venlig hilsen > Nino Martinez > -- Best regards / Med venlig hilsen Nino Martinez
