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

Reply via email to