camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Arnaud Deprez <arnaudep...@gmail.com>
Subject Re: camel-swagger in karaf
Date Tue, 21 Jul 2015 15:24:26 GMT
Thanks Ed,
Until your message I though I was the only one who is trying this.

I also think it's a classpath issue because as I said, I don't reach this
issue with spring-boot.

The following may help to diagnostic the problem. I put all the logs in
TRACE while I'm performing the request from the swagger-ui to retrieve the
documentation :

2015-07-21 15:18:05,787 | DEBUG | mel/api/api-docs | ServletHandler
          | 58 - org.eclipse.jetty.aggregate.jetty-all-server -
8.1.17.v20150415 | chain=null
2015-07-21 15:18:05,787 | TRACE | mel/api/api-docs |
RestSwaggerApiDeclarationServlet | 166 - org.apache.camel.camel-swagger -
2.15.2 | renderResourceListing
2015-07-21 15:18:05,787 | DEBUG | mel/api/api-docs | mbeanserver
           |  -  -  | name =
org.apache.camel:context=be.arndep.camel.account-core,type=context,name="bankAccounts-rest"
2015-07-21 15:18:05,788 | DEBUG | mel/api/api-docs | modelmbean
          |  -  -  | Entry
2015-07-21 15:18:05,788 | DEBUG | mel/api/api-docs | modelmbean
          |  -  -  | Finding operation dumpRestsAsXml as dumpRestsAsXml
2015-07-21 15:18:05,788 | DEBUG | mel/api/api-docs | modelmbean
          |  -  -  | Entry
2015-07-21 15:18:05,788 | DEBUG | mel/api/api-docs | modelmbean
          |  -  -  | Entry
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Constructor
2015-07-21 15:18:05,788 | DEBUG | mel/api/api-docs | modelmbean
          |  -  -  | Null Descriptor, creating new.
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'null'
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Entry: setting 'name' to 'dumpRestsAsXml'
2015-07-21 15:18:05,788 | DEBUG | mel/api/api-docs | modelmbean
          |  -  -  | Defaulting Descriptor name to dumpRestsAsXml
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'null'
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Entry: setting 'descriptorType' to 'operation'
2015-07-21 15:18:05,788 | DEBUG | mel/api/api-docs | modelmbean
          |  -  -  | Defaulting descriptorType to "operation"
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'null'
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Entry: setting 'displayName' to 'dumpRestsAsXml'
2015-07-21 15:18:05,788 | DEBUG | mel/api/api-docs | modelmbean
          |  -  -  | Defaulting Descriptor displayName to dumpRestsAsXml
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'null'
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Entry: setting 'role' to 'operation'
2015-07-21 15:18:05,788 | DEBUG | mel/api/api-docs | modelmbean
          |  -  -  | Defaulting Descriptor role field to "operation"
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Entry
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'dumpRestsAsXml'
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'operation'
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns true
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'dumpRestsAsXml'
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'operation'
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'operation'
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'null'
2015-07-21 15:18:05,788 | DEBUG | mel/api/api-docs | modelmbean
          |  -  -  | Entry
2015-07-21 15:18:05,788 | DEBUG | mel/api/api-docs | modelmbean
          |  -  -  | Entry
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Entry
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Constructor
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Entry
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Constructor
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'dumpRestsAsXml'
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'operation'
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Entry
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'dumpRestsAsXml'
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'operation'
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns true
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'dumpRestsAsXml'
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'operation'
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'operation'
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returns 'null'
2015-07-21 15:18:05,788 | DEBUG | mel/api/api-docs | modelmbean
          |  -  -  | Exit
2015-07-21 15:18:05,788 | DEBUG | mel/api/api-docs | modelmbean
          |  -  -  | Entry
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Entry
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Constructor
2015-07-21 15:18:05,788 | DEBUG | mel/api/api-docs | modelmbean
          |  -  -  | Entry
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Entry
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Entry
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Returning 5 fields
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Exit
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Printing 5 fields
2015-07-21 15:18:05,788 | TRACE | mel/api/api-docs | modelmbean
          |  -  -  | Exit returning descriptorType=operation,
displayName=dumpRestsAsXml, mask=false, name=dumpRestsAsXml, role=
operation

As you can see, I have a lot of Returns 'null' from modelmbean.

Regards,

A.

On Mon, Jul 20, 2015 at 7:14 PM Ed Welch <ed@edjusted.com> wrote:

> A few months back I played around with swagger in camel, I think I made it
> about to where you were and either got pulled into another project or my
> short attention span got the better of me, because I never found a solution
> to this.
>
> I think the problem you are seeing with Karaf is likely a classpath issue,
> basically the swagger/jackson/camel bundles all have separate classloaders
> and this causes some issues when trying to get the swagger api to present
> your model.
>
> Unfortunately, this isn't really an easy problem to solve (assuming my
> guess is correct), you could possibly use a fragment bundle on either the
> swagger or jackson bundles (not sure which needs the classes), or consider
> some form of embed-dependency (which is not really the correct solution to
> an osgi problem)
>
> Sorry I can't be of more direct help, but I just wanted to point this out
> as a possible source of your issue.
>
> Regards,
> Ed
>
> On Mon, 20 Jul 2015 15:24:38 +0000, Arnaud Deprez <arnaudeprez@gmail.com>
> wrote:
>
> > Hi again,
> >
> > I just push my example here which works fine with spring-boot but still
> > can't see the model in Karaf.
> > https://github.com/arnaud-deprez/camel-examples/tree/master/rest
> >
> > There are also the features I use.
> > If someone find what's wrong, I'd be verry happy ! :-)
> >
> > On Thu, Jul 16, 2015 at 1:46 PM Arnaud Deprez <arnaudeprez@gmail.com>
> wrote:
> >
> > > It was plain pojos, but I just test it by adding the annotation
> @ApiModel
> > >  and @ApiModelProperty on my pojos and it's still doesn't work.
> > >
> > > On Thu, Jul 16, 2015 at 1:18 PM Claus Ibsen <claus.ibsen@gmail.com>
> wrote:
> > >
> > >> Hi
> > >>
> > >> Ah okay is your model annotate with swagger annotations or just plain
> > >> pojos?
> > >>
> > >> On Thu, Jul 16, 2015 at 1:10 PM, Arnaud Deprez <arnaudeprez@gmail.com
> >
> > >> wrote:
> > >> > Hi,
> > >> >
> > >> > Thanks for your quick answer.
> > >> >
> > >> > I've tried to add either a file org.apache.camel.cfg and
> > >> > jmx.acl.org.apache.camel.cfg that has * = * and I still have the
> same
> > >> > issue, even after restarting my karaf.
> > >> >
> > >> > On Thu, Jul 16, 2015 at 12:32 PM Claus Ibsen <claus.ibsen@gmail.com
> >
> > >> wrote:
> > >> >
> > >> >> Hi
> > >> >>
> > >> >> Also I remember one of the problems was the new RBAC in karaf,
so
> you
> > >> >> need to bypass that so swagger can get the model from camel
> > >> >>
> > >> >> We are doing this out of the box in a future release
> > >> >>
> > >> >>
> > >>
> https://github.com/apache/camel/commit/dcdc7760ad4b382bb6e197190443e48e6ff2cdd7
> > >> >>
> > >> >> But for current you need to setup this manually in karaf rbac.
Its
> a
> > >> >> bit confusing to do so, but look in the etc dir and create a file
> that
> > >> >> starts with org.apache.camel and has that * = *
> > >> >>
> > >> >>
> > >> >>
> > >> >> On Thu, Jul 16, 2015 at 12:19 PM, Claus Ibsen <
> claus.ibsen@gmail.com>
> > >> >> wrote:
> > >> >> > Hi
> > >> >> >
> > >> >> > A while back there was a thread about swagger on karaf. Can
you
> find
> > >> >> > that I think it has some pointers to get it working.
> > >> >> >
> > >> >> >
> > >> >> >
> > >> >> > On Thu, Jul 16, 2015 at 11:48 AM, Arnaud Deprez <
> > >> arnaudeprez@gmail.com>
> > >> >> wrote:
> > >> >> >> Hi guys,
> > >> >> >>
> > >> >> >> I don't know if this mail is for camel folks or karaf
folks.
> > >> >> >>
> > >> >> >> I'm using camel 2.15.2 with its REST DSL and camel-swagger
in an
> > >> OSGi
> > >> >> >> environment (I tried both karaf 2.4.3 and karaf 4).
> > >> >> >>
> > >> >> >> I'm using the servlet component by exposing it as OSGi
services
> :
> > >> >> >>
> > >> >> >>    - CamelHttpTransportServlet for my camel route
> > >> >> >>    - DefaultCamelSwaggerServlet for the swagger documentation.
> > >> >> >>
> > >> >> >> Then I use the swagger ui to see the documentation.
> > >> >> >>
> > >> >> >> I can see my rest endpoint and the documentation I put
in
> > >> "description"
> > >> >> but
> > >> >> >> it's not able to show me the model for the request and
the
> response
> > >> >> >> (defined in "type" and "outType").
> > >> >> >>
> > >> >> >> However if I use the same routes and the same servlet
in a
> > >> spring-boot
> > >> >> >> environment, it works like a charm.
> > >> >> >>
> > >> >> >> I tried to find some information on the web but I didn't
find
> > >> anything
> > >> >> >> about missing supports or bug with karaf and camel and
the
> latest
> > >> >> version.
> > >> >> >>
> > >> >> >> So is it a known bug ? Or camel will support it in future
> version ?
> > >> Or
> > >> >> is
> > >> >> >> it a lack of support in karaf ?
> > >> >> >>
> > >> >> >> Regards,
> > >> >> >>
> > >> >> >> A.
> > >> >> >
> > >> >> >
> > >> >> >
> > >> >> > --
> > >> >> > Claus Ibsen
> > >> >> > -----------------
> > >> >> > http://davsclaus.com @davsclaus
> > >> >> > Camel in Action 2nd edition: http://www.manning.com/ibsen2
> > >> >>
> > >> >>
> > >> >>
> > >> >> --
> > >> >> Claus Ibsen
> > >> >> -----------------
> > >> >> http://davsclaus.com @davsclaus
> > >> >> Camel in Action 2nd edition: http://www.manning.com/ibsen2
> > >> >>
> > >>
> > >>
> > >>
> > >> --
> > >> Claus Ibsen
> > >> -----------------
> > >> http://davsclaus.com @davsclaus
> > >> Camel in Action 2nd edition: http://www.manning.com/ibsen2
> > >>
> > >
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message