Well, it's broken for me in Chrome but working in an older version (41) of
Firefox... so I suppose this is something client-specific.  I'll poke
around with the CORS filters but I seem to remember having similar problems
with Chrome around CORS support on localhost.

Thanks so much for your help so far.

Jeff

On Tue, Aug 16, 2016 at 12:55 PM, Sergey Beryozkin [via CXF] <
[email protected]> wrote:

> Hi
>
> I've just tried 3 demos, description_swagger2, spring_boot,
> spring_boot_scan, and linking to SwaggerUi from the services page works
> fine (Firefox 48.0, and Chrome (not sure how to check a version there)
> but I suppose it is the latest, Ubuntu updates it)
>
> Check Google for "strict MIME type checking is enabled".
>
> Or can you create a test maven project for me to investigate further ?
> (so that I can reproduce and see if some JSON or CORS filter needs to be
> added OOB).
>
> Speaking of CORS. CXF description_swagger2 demo ships ApiOriginFilter
> (CXF has the one it can provide OOB too). The demo works fine for me
> with or without this filter - but I believe Aki added it for good reason
> - can you return an instance of that filter from @Bean method and see if
> it helps ?
>
> If nothing helps consider creating a test module
>
> Cheers, Sergey
>
> On 16/08/16 17:19, jcrump wrote:
>
> > OK, progress... Yes, I had an auto-scan set on
> 'org.apache.cxf.jaxrs.swagger'
> > in my Spring Boot application.yaml. I removed it, and also removed the
> > setBasePath.  I'm down to this:
> >
> >
> >  @Bean
> >     public Swagger2Feature swagger2Feature() {
> >         Swagger2Feature feature = new Swagger2Feature();
> >         feature.setResourcePackage("x.y.z.v1.rs");
> >         feature.setTitle("My API");
> >         return feature;
> >     }
> >
> > which is quite nice.   All the server-side errors are gone, and only one
> > endpoint in the service list:
> >
> > Available RESTful services:
> > Endpoint address: http://localhost:8080/context/
> > Swagger : http://localhost:8080/context/api-docs?url=/context/swagger.
> json
> >
> > However, I'm still seeing a bunch of errors in my browser console on the
> > client side when I go to that URL, all like this:
> >
> > Refused to execute script from '
> > http://localhost:8080/context/lib/shred.bundle.js' because its MIME
> type
> > ('application/octet-stream') is not executable, and strict MIME type
> > checking is enabled.
> >
> > So close!
> >
> >
> >
> > On Tue, Aug 16, 2016 at 11:57 AM, Sergey Beryozkin [via CXF] <
> > [hidden email] <http:///user/SendEmail.jtp?type=node&node=5771648&i=0>>
> wrote:
> >
> >> Can you check you have no SpringBoot configuration scanning
> >> 'org.apache.cxf.jaxrs.swagger' - the CXF demo does it and picks up
> >> Swagger2Feature automatically - that will explain these warnings.
> >>
> >> Can you also remove
> >> feature.setBasePath("/api-docs") ?
> >>
> >> FYI, Swagger UI resource does listen on this path but this will be
> >> configurable.
> >>
> >> Cheers, Sergey
> >>
> >> On 16/08/16 16:35, jcrump wrote:
> >>
> >>>
> >>> Yes, I am using a SpringBoot starter.  So I took out the @Bean code
> and
> >>> replaced it with this:
> >>>
> >>> @Bean
> >>> public Swagger2Feature swagger2Feature() {
> >>>    Swagger2Feature feature = new Swagger2Feature();
> >>>    feature.setResourcePackage("x.y.z.v1.rs");
> >>>    feature.setTitle("My API");
> >>>    feature.setBasePath("/api-docs");
> >>>    return feature;
> >>> }
> >>>
> >>> The JSON is being generated correctly and I'm only seeing one endpoint
> >> on
> >>> the services list:
> >>>
> >>> Available RESTful services:
> >>> Endpoint address: http://localhost:8080/context/
> >>> Swagger : http://localhost:8080/context/api-docs?url=/context/swagger.
>
> >> json
> >>>
> >>> When I click on the link, I get the Swagger UI but with no content.  I
> >> get a
> >>> whole bunch of messages like this:
> >>>
> >>> WARNING: Both
> >>> org.apache.cxf.jaxrs.swagger.Swagger2Feature$SwaggerUIService#getResource
>
> >>
> >>> and
> >>> org.apache.cxf.jaxrs.swagger.Swagger2Feature$SwaggerUIService#getResource
>
> >>
> >>> are equal candidates for handling the current request which can lead
> to
> >>> unpredictable results
> >>>
> >>> and a FileNotFoundException:
> >>>
> >>> Caused by: java.io.FileNotFoundException: JAR entry
> >>> META-INF/resources/webjars/swagger-ui/2.1.8-M1/api-docs/lib/swagger-oauth.js
>
> >>
> >>> not found in
> >>> /Users/jcrump/.m2/repository/org/webjars/swagger-ui/2.1.8-M1/swagger-ui-2.1.8-M1.jar
>
> >>
> >>> at
> >>> sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:142)
>
> >>
> >>>
> >>>
> >>> The problem is the "api-docs" in the META-INF path.  I traced this in
> >> the
> >>> debugger to Swagger2Feature.SwaggerUIService#getResource; the
> >> resourcePath
> >>> being passed in is prefixed with api-docs whereas the jar entry path
> is
> >> not.
> >>> I tried removing the 'setBasePath' call in my @Bean method but it
> didn't
> >>> change anything.
> >>>
> >>> BTW, I'm also getting the warning message when called to generate the
> >> JSON,
> >>> but the warning is this:
> >>>
> >>> WARNING: Both io.swagger.jaxrs.listing.ApiListingResource#getListing
> >> and
> >>> io.swagger.jaxrs.listing.ApiListingResource#getListing are equal
> >> candidates
> >>> for handling the current request which can lead to unpredictable
> results
> >>>
> >>> Same warning but different class. Sounds like a configuration or
> >> classpath
> >>> thing, but I couldn't detect any libraries duplicated on my classpath.
> >>>
> >>> Thanks.
> >>>
> >>>
> >>>> Thanks for making it work so far.
> >>>>
> >>>> The question is, where is the first endpoint coming from, or rather
> why
> >>>> do you see two endpoints as opposed to the one you create ?
> >>>>
> >>>> Do use a SpringBoot starter with the auto-scan enabled ? That may
> >> create
> >>>> the endpoint at the "/" address (note for me - make sure this is also
> >>>> configurable in the auto-scan case)
> >>>>
> >>>> I'll need to sign off now as it is getting late but please try to get
> >>>> the only endpoint shown first and then we'll see what happens.
> >>>>
> >>>> FYI, if you use the auto-scan then you can usually remove all the
> code
> >>>> below but only keep a @Bean code returning Swagger2Feature because it
> >> is
> >>>> configured, would not be needed otherwise (another note to myself -
> how
> >>>> to auto-configure Swagger2Feature in SpringBoot given that
> >>>> Swagger2Feature can be used without Spring too)
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> --
> >>> View this message in context: http://cxf.547215.n5.nabble.
> >> com/Swagger2Feature-not-finding-Api-annotations-in-
> >> interfaces-tp5771115p5771637.html
> >>> Sent from the cxf-user mailing list archive at Nabble.com.
> >>>
> >>
> >>
> >>
> >> ------------------------------
> >> If you reply to this email, your message will be added to the
> discussion
> >> below:
> >> http://cxf.547215.n5.nabble.com/Swagger2Feature-not-
> >> finding-Api-annotations-in-interfaces-tp5771115p5771639.html
> >> To unsubscribe from Swagger2Feature not finding @Api annotations in
> >> interfaces, click here
> >> <
> >> .
> >> NAML
> >> <http://cxf.547215.n5.nabble.com/template/NamlServlet.jtp?
> macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&
> base=nabble.naml.namespaces.BasicNamespace-nabble.view.
> web.template.NabbleNamespace-nabble.view.web.template.
> NodeNamespace&breadcrumbs=notify_subscribers%21nabble%
> 3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_
> instant_email%21nabble%3Aemail.naml>
> >>
> >
> >
> >
> >
> > --
> > View this message in context: http://cxf.547215.n5.nabble.
> com/Swagger2Feature-not-finding-Api-annotations-in-
> interfaces-tp5771115p5771644.html
> > Sent from the cxf-user mailing list archive at Nabble.com.
> >
>
>
>
> ------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
> http://cxf.547215.n5.nabble.com/Swagger2Feature-not-
> finding-Api-annotations-in-interfaces-tp5771115p5771648.html
> To unsubscribe from Swagger2Feature not finding @Api annotations in
> interfaces, click here
> <http://cxf.547215.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5771115&code=amNydW1wQGNvbnN0YW50Y29udGFjdC5jb218NTc3MTExNXwtMTU1OTE5MTQ3NA==>
> .
> NAML
> <http://cxf.547215.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>




--
View this message in context: 
http://cxf.547215.n5.nabble.com/Swagger2Feature-not-finding-Api-annotations-in-interfaces-tp5771115p5771650.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to