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

Reply via email to