you are right both http://localhost:5080/openmeetings/services/services and http://localhost:5080/openmeetings/services/services/ display the list of SOAP services but zero REST services :( would appreciate any help on resolving this :(
OK, I'll try I'm in Novosibirsk GMT+7 will check freenode channel, please ping me via email if I :) On Fri, Aug 19, 2016 at 11:44 PM, Sergey Beryozkin <[email protected]> wrote: > Right so in [2] this is what I meant, you have a CXF Destination available > at "/" - JAX-RS takes care of selecting the right class/method at a later > stage. > > I'm not sure now what to do there. In my demo I saw no warning without a > trailing slash and all worked well but in your case you are still seeing > the problem with or without a slash - looks like some containers may report > different values for an empty path, it does not seem to be a CXF issue. > > I think right now if you do > /openmeetings/services/services - you'll get a services page no probs. > > when you have '/openmeetings/services', combined with the fact you have > "/services/*" URL pattern, some ambiguities might happen. > > In meantime, it probably makes sense to enforce CXF to treat path "/" a > bot more carefully (if the last segment is services) > > (P.S - Max lets sync on Monday, by the way, believe it or not - I have a > question specifically for you, please join #apache-cxf at freenode on Mon) > > thanks, Sergey > > > On 19/08/16 17:03, Maxim Solodovnik wrote: > >> I have CXFServlet configured in web.xml [1] >> and spring config: [2] >> Additionally each service has annotations (for ex: [3]) >> >> something like this >> >> [1] >> https://github.com/apache/openmeetings/blob/3.2.x/openmeetin >> gs-web/src/main/webapp/WEB-INF/web.xml#L32 >> [2] >> https://github.com/apache/openmeetings/blob/3.2.x/openmeetin >> gs-web/src/main/webapp/WEB-INF/classes/openmeetings-appli >> cationContext.xml#L271 >> [3] >> https://github.com/apache/openmeetings/blob/3.2.x/openmeetin >> gs-webservice/src/main/java/org/apache/openmeetings/ >> webservice/CalendarWebService.java#L63 >> >> On Fri, Aug 19, 2016 at 10:59 PM, Sergey Beryozkin <[email protected]> >> wrote: >> >> Hmm..., >>> >>> On 19/08/16 16:51, Maxim Solodovnik wrote: >>> >>> Actually I can see no difference between >>>> http://localhost:5080/openmeetings/services >>>> and >>>> http://localhost:5080/openmeetings/services/ >>>> >>>> The weird thing is: CalendarWebService has annotation >>>> @Path("/calendar") >>>> >>>> can you remind me please how you set this up ? Did you say you have no >>> XML >>> involved ? >>> >>> I was referring to the fact that you can have one relative path, the one >>> you set with >>> jaxrs:server/@address in Spring or directly on JAXRSServerFactoryBean >>> >>> thanks, Sergey >>> >>> >>>> BUT >>>> http://localhost:5080/openmeetings/services/calendar?_wadl >>>> results to d== null >>>> >>>> id seems like d == null for mapped path and d != null for the root path >>>> >>>> On Fri, Aug 19, 2016 at 10:40 PM, Sergey Beryozkin < >>>> [email protected]> >>>> wrote: >>>> >>>> OK, I have tried one of the demos we ship with CXF, >>>> >>>>> jax_rs/description_swagger2_web which uses Tomcat 7 plugin, its >>>>> CXFServlet has "/app/*". >>>>> >>>>> If I try: >>>>> >>>>> http://localhost:9000/app/services/ >>>>> >>>>> then I do get the services page back but I also see in the logs: >>>>> >>>>> WARNING: Can't find the the request for http://localhost:9000/app/serv >>>>> ices//'s Observer >>>>> >>>>> But if I do >>>>> >>>>> http://localhost:9000/app/services >>>>> >>>>> then I get the service page immediately >>>>> >>>>> If we have a trailing "/" and you have a JAXRS endpoint >>>>> CalendarWebService >>>>> also listening on "/" then it is a match. >>>>> >>>>> I think as long as you have "/services" without the trailing slash you >>>>> should see the services pages - can you try it please or may be update >>>>> CalendarWebService to listen on something more specific than "/" ? >>>>> >>>>> Thanks, Sergey >>>>> >>>>> >>>>> >>>>> On 19/08/16 16:07, Maxim Solodovnik wrote: >>>>> >>>>> for some unknown reason d != null in this line :( >>>>> >>>>>> >>>>>> d == ServletDestination >>>>>> endpointInfo == BindingQName={http://apache.or >>>>>> g/cxf/binding/jaxrs}binding >>>>>> , >>>>>> ServiceQName=, QName={ >>>>>> http://webservice.openmeetings.apache.org/}CalendarWebService >>>>>> path == "/" >>>>>> >>>>>> not sure why endpointInfo is like this :( >>>>>> >>>>>> >>>>>> On Fri, Aug 19, 2016 at 8:22 PM, Sergey Beryozkin < >>>>>> [email protected] >>>>>> >>>>>>> >>>>>>> wrote: >>>>>> >>>>>> Hi Max >>>>>> >>>>>> On 19/08/16 13:56, Maxim Solodovnik wrote: >>>>>>> >>>>>>> you can download binary snapshot from here >>>>>>> >>>>>>> https://builds.apache.org/view/M-R/view/OpenMeetings/job/ >>>>>>>> Openmeetings%203.2.x/146/ >>>>>>>> extract it to some new folder >>>>>>>> >>>>>>>> run red5.sh (red5.bat) (or red5-debug.sh (red5-debug.bat)) >>>>>>>> go to http://localhost:5080/openmeetings/services/ >>>>>>>> this will result empty page (and 404 in the log) >>>>>>>> >>>>>>>> Oh, I see, this is now different to what I thought the problem was, >>>>>>>> >>>>>>>> I thought that the services page that you see does not show JAX-RS >>>>>>> links >>>>>>> but the problem is - you do not see the service page at all >>>>>>> >>>>>>> Hmm... I only updated there the formatter code which is used by the >>>>>>> service list page handler. >>>>>>> >>>>>>> Have you added an endpoint that can handle 'services' path by any >>>>>>> chance >>>>>>> ? >>>>>>> >>>>>>> >>>>>>> to use application you need to >>>>>>> >>>>>>> go to http://localhost:5080/openmeetings and walk through installer >>>>>>>> :( >>>>>>>> >>>>>>>> or you can ask me to do some investigation :)) >>>>>>>> >>>>>>>> It would be nice :-). >>>>>>>> >>>>>>>> Can you please try >>>>>>> >>>>>>> http://localhost:5080/openmeetings/services >>>>>>> >>>>>>> (without the trailing '/') - that should not make a difference but >>>>>>> who >>>>>>> knows, just in case. >>>>>>> >>>>>>> Can you also please download CXF 3.1.7 source (from Central) it is >>>>>>> the >>>>>>> same as in 3.1.8-SNAPSHOT in ServletController which is where I'd >>>>>>> like >>>>>>> to >>>>>>> ask you to put a breakpoint: >>>>>>> https://github.com/apache/cxf/blob/cxf-3.1.7/rt/transports/h >>>>>>> ttp/src/main/java/org/apache/cxf/transport/servlet/ServletCo >>>>>>> ntroller.java#L168 >>>>>>> there you should reach line 176 >>>>>>> >>>>>>> Can you please try it and see why the service page branch is skipped >>>>>>> in >>>>>>> your case ? >>>>>>> >>>>>>> Thanks, Sergey >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Fri, Aug 19, 2016 at 7:17 PM, Sergey Beryozkin < >>>>>>> >>>>>>>> [email protected] >>>>>>>> >>>>>>>> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>> >>>>>>>> Sorry. I'm confused - that is 404. >>>>>>>> >>>>>>>> What about the services page ? >>>>>>>> >>>>>>>>> >>>>>>>>> Is there an easy way for me to reproduce it with open meetings ? >>>>>>>>> >>>>>>>>> Cheers, Sergey >>>>>>>>> >>>>>>>>> >>>>>>>>> On 19/08/16 12:35, Maxim Solodovnik wrote: >>>>>>>>> >>>>>>>>> just have tried: >>>>>>>>> >>>>>>>>> >>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-core-3.1.8-SNAPSHOT.jar >>>>>>>>>> >>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-bindings-soap-3.1.8- >>>>>>>>>> SNAPSHOT.jar >>>>>>>>>> >>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-bindings-xml-3.1.8-S >>>>>>>>>> NAPSHOT.jar >>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-databinding-jaxb-3.1 >>>>>>>>>> .8-SNAPSHOT.jar >>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-frontend-jaxrs-3.1.8 >>>>>>>>>> -SNAPSHOT.jar >>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-frontend-jaxws-3.1.8 >>>>>>>>>> -SNAPSHOT.jar >>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-frontend-simple-3.1. >>>>>>>>>> 8-SNAPSHOT.jar >>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-rs-extension-provide >>>>>>>>>> rs-3.1.8-SNAPSHOT.jar >>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-rs-service-descripti >>>>>>>>>> on-3.1.8-SNAPSHOT.jar >>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-transports-http-3.1. >>>>>>>>>> 8-SNAPSHOT.jar >>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-ws-addr-3.1.8-SNAPSH >>>>>>>>>> OT.jar >>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-wsdl-3.1.8-SNAPSHOT.jar >>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-ws-policy-3.1.8-SNAP >>>>>>>>>> SHOT.jar >>>>>>>>>> >>>>>>>>>> spring config: >>>>>>>>>> https://github.com/apache/openmeetings/blob/3.2.x/openmeetin >>>>>>>>>> gs-web/src/main/webapp/WEB-INF/classes/openmeetings-appli >>>>>>>>>> >>>>>>>>>> cationContext.xml#L271 >>>>>>>>>> >>>>>>>>>> Result: >>>>>>>>>> >>>>>>>>>> --------------------------- >>>>>>>>>> ID: 1 >>>>>>>>>> Response-Code: 404 >>>>>>>>>> Content-Type: >>>>>>>>>> Headers: {Date=[Fri, 19 Aug 2016 11:32:51 GMT], >>>>>>>>>> Content-Length=[0]} >>>>>>>>>> -------------------------------------- >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Fri, Aug 19, 2016 at 4:14 PM, Sergey Beryozkin < >>>>>>>>>> [email protected] >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> Hi Max >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> To have WADL links you need to add cxf-rt-rs-service-description >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Can you try again please with 3.1.8-SNAPSHOT >>>>>>>>>>> >>>>>>>>>>> Cheers, Sergey >>>>>>>>>>> >>>>>>>>>>> On 19/08/16 04:15, Maxim Solodovnik wrote: >>>>>>>>>>> >>>>>>>>>>> hmm, >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> just have tested, not working :( details: >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> libraries in classpath >>>>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-core-3.1.8-SNAPSHOT.jar >>>>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-bindings-soap-3.1.8- >>>>>>>>>>>> SNAPSHOT.jar >>>>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-bindings-xml-3.1.8-S >>>>>>>>>>>> NAPSHOT.jar >>>>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-databinding-jaxb-3.1 >>>>>>>>>>>> .8-SNAPSHOT.jar >>>>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-frontend-jaxrs-3.1.8 >>>>>>>>>>>> -SNAPSHOT.jar >>>>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-frontend-jaxws-3.1.8 >>>>>>>>>>>> -SNAPSHOT.jar >>>>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-frontend-simple-3.1. >>>>>>>>>>>> 8-SNAPSHOT.jar >>>>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-rs-extension-provide >>>>>>>>>>>> rs-3.1.8-SNAPSHOT.jar >>>>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-transports-http-3.1. >>>>>>>>>>>> 8-SNAPSHOT.jar >>>>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-ws-addr-3.1.8-SNAPSH >>>>>>>>>>>> OT.jar >>>>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-wsdl-3.1.8-SNAPSHOT.jar >>>>>>>>>>>> webapps/openmeetings/WEB-INF/lib/cxf-rt-ws-policy-3.1.8-SNAP >>>>>>>>>>>> SHOT.jar >>>>>>>>>>>> >>>>>>>>>>>> servlet configuration: >>>>>>>>>>>> <servlet> >>>>>>>>>>>> <servlet-name>CXFServlet</servlet-name> >>>>>>>>>>>> >>>>>>>>>>>> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</ >>>>>>>>>>>> servlet-class> >>>>>>>>>>>> <init-param> >>>>>>>>>>>> <param-name>config-location</p >>>>>>>>>>>> aram-name> >>>>>>>>>>>> >>>>>>>>>>>> <param-value>classpath:openmeetings-applicationContext.xml</ >>>>>>>>>>>> param-value> >>>>>>>>>>>> </init-param> >>>>>>>>>>>> <load-on-startup>1</load-on-startup> >>>>>>>>>>>> </servlet> >>>>>>>>>>>> <servlet-mapping> >>>>>>>>>>>> <servlet-name>CXFServlet</servlet-name> >>>>>>>>>>>> <url-pattern>/services/*</url-pattern> >>>>>>>>>>>> </servlet-mapping> >>>>>>>>>>>> >>>>>>>>>>>> SOAP services are configured in spring config, REST are >>>>>>>>>>>> configured >>>>>>>>>>>> via >>>>>>>>>>>> annotations >>>>>>>>>>>> I'm using java only no XML approach :) >>>>>>>>>>>> >>>>>>>>>>>> What am I missing? >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Fri, Aug 19, 2016 at 8:29 AM, Maxim Solodovnik < >>>>>>>>>>>> [email protected] >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks for the quick answer Sergey :) >>>>>>>>>>>> >>>>>>>>>>>> I'll check SNAPSHOT and will write back here :) >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> What additional dependencies need to be added to display the >>>>>>>>>>>>> list >>>>>>>>>>>>> of >>>>>>>>>>>>> both >>>>>>>>>>>>> SOAP and REST services? >>>>>>>>>>>>> >>>>>>>>>>>>> On Thu, Aug 18, 2016 at 10:38 PM, Sergey Beryozkin < >>>>>>>>>>>>> [email protected] >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Hi Max >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> I updated CXF 3.1.7 to show the available endpoints if they >>>>>>>>>>>>> exist, >>>>>>>>>>>>> >>>>>>>>>>>>> previously, if you only used either JAXWS or JAXRS you could >>>>>>>>>>>>>> get >>>>>>>>>>>>>> for >>>>>>>>>>>>>> example: >>>>>>>>>>>>>> >>>>>>>>>>>>>> SOAP endpoints: >>>>>>>>>>>>>> (empty space) >>>>>>>>>>>>>> >>>>>>>>>>>>>> REST endpoints: >>>>>>>>>>>>>> some endpoints listed here >>>>>>>>>>>>>> >>>>>>>>>>>>>> or >>>>>>>>>>>>>> >>>>>>>>>>>>>> SOAP endpoints: >>>>>>>>>>>>>> some endpoints listed here >>>>>>>>>>>>>> >>>>>>>>>>>>>> REST endpoints: >>>>>>>>>>>>>> (empty space) >>>>>>>>>>>>>> >>>>>>>>>>>>>> which was 'noisy' so now in such case you'd either get only >>>>>>>>>>>>>> >>>>>>>>>>>>>> SOAP endpoints: >>>>>>>>>>>>>> some endpoints listed here >>>>>>>>>>>>>> >>>>>>>>>>>>>> or >>>>>>>>>>>>>> >>>>>>>>>>>>>> REST endpoints: >>>>>>>>>>>>>> some endpoints listed here >>>>>>>>>>>>>> >>>>>>>>>>>>>> So far it all should be fine. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Additionally, for JAXRS, I made it conditional on the >>>>>>>>>>>>>> availability >>>>>>>>>>>>>> of >>>>>>>>>>>>>> the >>>>>>>>>>>>>> bus property. Some users now use Swagger, some WADL, so until >>>>>>>>>>>>>> 3.1.7 >>>>>>>>>>>>>> you'd >>>>>>>>>>>>>> get an empty WADL link even if you use Swagger or if no WADL >>>>>>>>>>>>>> dependency >>>>>>>>>>>>>> exist. >>>>>>>>>>>>>> So in CXF 3.1.7 WADLGenerator, if loaded, will set a bus >>>>>>>>>>>>>> property >>>>>>>>>>>>>> that >>>>>>>>>>>>>> WADL is available, and if Swagger feature is loaded it will >>>>>>>>>>>>>> set >>>>>>>>>>>>>> a >>>>>>>>>>>>>> property >>>>>>>>>>>>>> indicating Swagger is available. >>>>>>>>>>>>>> >>>>>>>>>>>>>> This helps to present JAX-RS links correctly in Services page, >>>>>>>>>>>>>> but >>>>>>>>>>>>>> we've >>>>>>>>>>>>>> found with Lukasz that in Blueprint one can get an empty bus >>>>>>>>>>>>>> reference >>>>>>>>>>>>>> in >>>>>>>>>>>>>> the Service list formatter - it looks like you may be seeing >>>>>>>>>>>>>> such >>>>>>>>>>>>>> a >>>>>>>>>>>>>> case >>>>>>>>>>>>>> too. So in 3.1.8-SNAPSHOT I added the code that checks a >>>>>>>>>>>>>> default >>>>>>>>>>>>>> bus >>>>>>>>>>>>>> in >>>>>>>>>>>>>> such cases in the services page formatter >>>>>>>>>>>>>> >>>>>>>>>>>>>> Can you please check 3.1.8-SNAPSHOT ? >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks, Sergey >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On 18/08/16 15:45, Maxim Solodovnik wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> recently I find out the list of all REST/SOAP services is not >>>>>>>>>>>>>> >>>>>>>>>>>>>> available >>>>>>>>>>>>>>> anymore (CXF 3.1.7) >>>>>>>>>>>>>>> It was working some time ago >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Should I make any changes to make it work again? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I tried to add cxf-rt-rs-service-description-3.1.7.jar as >>>>>>>>>>>>>>> dependency, >>>>>>>>>>>>>>> but >>>>>>>>>>>>>>> it doesn't help :( >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Thanks a lot for your help >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> WBR >>>>>>>>>>>>>> >>>>>>>>>>>>> Maxim aka solomax >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>> Sergey Beryozkin >>>>>>> >>>>>>> Talend Community Coders >>>>>>> http://coders.talend.com/ >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>> Sergey Beryozkin >>>>> >>>>> Talend Community Coders >>>>> http://coders.talend.com/ >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >> >> > > -- > Sergey Beryozkin > > Talend Community Coders > http://coders.talend.com/ > -- WBR Maxim aka solomax
