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/openmeetings-web/src/main/webapp/WEB-INF/web.xml#L32 [2] https://github.com/apache/openmeetings/blob/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml#L271 [3] https://github.com/apache/openmeetings/blob/3.2.x/openmeetings-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-SNAPSHOT.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</param-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/ >>> >>> >> >> >> > -- WBR Maxim aka solomax
