Please add breakpoints to org.apache.cxf.jaxrs.JAXRSServerFactoryBean, its
two setServiceBeans(...) methods. JAXRSServerFactoryBean.create() is called
after one of those methods has been called. 

thanks, Sergey


KARR, DAVID (ATTCINW) wrote:
> 
>> -----Original Message-----
>> From: Sergey Beryozkin [mailto:[email protected]]
>> Sent: Tuesday, August 25, 2009 3:54 AM
>> To: [email protected]
>> Subject: RE: getting "NO_RESOURCES_AVAILABLE" from
>> "AbstractJAXRSFactoryBean.checkResources()"
>> 
>> 
>> I've tried this class & beans.xml in the system tests area, Catalog
>> class was
>> recognized.
>> 
>> Can you please let me know a bit more about the way you load the
>> (catalog)
>> application ?
>> Are you using Maven or Ant ? Is it Jetty or Tomcat ? Or is it a
>> standalone
>> server which explicitly loads the beans.xml ?
> 
> I build the application with Ant.  It's deployed to WebLogic 10.
> 
> Can you point me to some classes or methods that I could set breakpoints
> in to try to diagnose why it's not processing the Catalog class?
> 
>> 
>> thanks, Sergey
>> 
>> 
>> KARR, DAVID (ATTCINW) wrote:
>> >
>> >> -----Original Message-----
>> >> From: Sergey Beryozkin [mailto:[email protected]]
>> >> Sent: Monday, August 24, 2009 1:13 PM
>> >> To: [email protected]
>> >> Subject: Re: getting "NO_RESOURCES_AVAILABLE" from
>> >> "AbstractJAXRSFactoryBean.checkResources()"
>> >>
>> >>
>> >> Hi
>> >>
>> >> Everything seems to be ok.
>> >> It appears the problem is to do with a missing import :
>> >>
>> >> <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-
>> >> binding.xml" />
>> >>
>> >> can you add it please to your beans.xml ?
>> >>
>> >> For some reasons Catalog class is not introspected. Perhaps due to
>> the
>> >> fact
>> >> the above import is missing and thus no jaxrs-aware spring factory
>> is
>> >> invoked
>> >
>> > Nope, I'm afraid that didn't help.
>> >
>> > The relevant jars I'm loading are: cxf-2.2.3.jar, jaxb-api-2.1.jar,
>> > jsr311-api-1.0.jar, spring.jar, and wsdl4j.jar
>> >
>> > My current XML and Java are this:
>> > -----beans.xml------
>> > <?xml version="1.0" encoding="UTF-8"?>
>> > <beans xmlns="http://www.springframework.org/schema/beans";
>> >    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>> >    xmlns:jaxws="http://cxf.apache.org/jaxws";
>> >     xmlns:jaxrs="http://cxf.apache.org/jaxrs";
>> >     xmlns:cxf="http://cxf.apache.org/core";
>> >    xsi:schemaLocation="
>> > http://www.springframework.org/schema/beans
>> > http://www.springframework.org/schema/beans/spring-beans.xsd
>> > http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
>> > http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
>> > http://cxf.apache.org/core http://cxf.apache.org/schemascore.xsd";>
>> >
>> >    <import resource="classpath:META-INF/cxf/cxf.xml" />
>> >    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"
>> > />
>> >    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
>> >     <import
>> > resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
>> >
>> >     <jaxrs:server name="restcatalogserver" address="/rest">
>> >         <jaxrs:features>
>> >             <cxf:logging/>
>> >         </jaxrs:features>
>> >         <jaxrs:serviceBeans>
>> >             <bean class="com.att.ecom.catalog.Catalog"/>
>> >         </jaxrs:serviceBeans>
>> >     </jaxrs:server>
>> > </beans>
>> > -------------------------
>> > -----Catalog.java-----
>> > package com.att.ecom.catalog;
>> > import java.util.ArrayList;
>> > import java.util.List;
>> > import javax.ws.rs.GET;
>> > import javax.ws.rs.Path;
>> > import javax.ws.rs.PathParam;
>> > import javax.ws.rs.Produces;
>> > import javax.xml.bind.annotation.XmlRootElement;
>> >
>> > @Path("/catalog/")
>> > @Produces("application/xml")
>> > public class Catalog {
>> >    @GET
>> >    @Path("/item/{id}")
>> >    public Item getItem(@PathParam("id") String id) {
>> >            Item item       = new Item();
>> >            item.setId(id);
>> >            item.setTitle("abc");
>> >            item.setDescription("def");
>> >            return new Item();
>> >    }
>> >    @XmlRootElement(name = "Item")
>> >    public static class Item {
>> >            private String  id;
>> >            private String  title;
>> >            private String  description;
>> >
>> >            public String getTitle() { return title; }
>> >            public String getId() { return id; }
>> >            public String getDescription() { return description; }
>> >
>> >            public void setTitle(String title) { this.title = title;
>> > }
>> >            public void setId(String id) { this.id = id; }
>> >            public void setDescription(String description) {
>> > this.description = description; }
>> >    }
>> > }
>> > --------------------
>> >
>> >> KARR, DAVID (ATTCINW) wrote:
>> >> >
>> >> > I'm trying to set up a simple REST prototype running alongside
>> some
>> >> > other existing code.
>> >> >
>> >> > When I deploy, I appear to fall into the following "if" block in
>> >> > "AbstractJAXRSFactoryBean.checkResources()":
>> >> >
>> >> > -----------------
>> >> >         if (list.size() == 0) {
>> >> >             org.apache.cxf.common.i18n.Message msg =
>> >> >                 new
>> >> > org.apache.cxf.common.i18n.Message("NO_RESOURCES_AVAILABLE",
>> >> >                                                        BUNDLE);
>> >> >             LOG.severe(msg.toString());
>> >> >             throw new
>> >> > WebApplicationException(Response.Status.NOT_FOUND);
>> >> >         }
>> >> > ---------------
>> >> >
>> >> > This list would be empty if
>> >> "serviceFactory.getRealClassResourceInfo()"
>> >> > returned an empty list.  What exactly would that indicate?
>> >> >
>> >> > My beans.xml is very simple right now, just:
>> >> > -----------------------
>> >> > <?xml version="1.0" encoding="UTF-8"?>
>> >> > <beans xmlns="http://www.springframework.org/schema/beans";
>> >> >         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>> >> >         xmlns:jaxws="http://cxf.apache.org/jaxws";
>> >> >     xmlns:jaxrs="http://cxf.apache.org/jaxrs";
>> >> >         xsi:schemaLocation="
>> >> > http://www.springframework.org/schema/beans
>> >> > http://www.springframework.org/schema/beans/spring-beans.xsd
>> >> > http://cxf.apache.org/jaxws
>> http://cxf.apache.org/schemas/jaxws.xsd
>> >> > http://cxf.apache.org/jaxrs
>> > http://cxf.apache.org/schemas/jaxrs.xsd";>
>> >> >
>> >> >         <import resource="classpath:META-INF/cxf/cxf.xml" />
>> >> >         <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"
>> >> > />
>> >> >         <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
>> >> >
>> >> >     <jaxrs:server name="restcatalogserver" address="/rest">
>> >> >         <jaxrs:serviceBeans>
>> >> >             <bean class="com.att.ecom.catalog.Catalog"/>
>> >> >         </jaxrs:serviceBeans>
>> >> >     </jaxrs:server>
>> >> > </beans>
>> >> > --------------------
>> >> >
>> >> > The "Catalog" class is also very primitive so far:
>> >> > --------------------------
>> >> > package com.att.ecom.catalog;
>> >> >
>> >> > import java.util.ArrayList;
>> >> > import java.util.List;
>> >> >
>> >> > import javax.ws.rs.GET;
>> >> > import javax.ws.rs.Path;
>> >> > import javax.ws.rs.Produces;
>> >> >
>> >> > @Path("/catalog/")
>> >> > @Produces("application/xml")
>> >> > public class Catalog {
>> >> >
>> >> >         @GET
>> >> >         @Path("/items")
>> >> >         public List<Item> getItems() {
>> >> >                 ArrayList<Item> result  = new ArrayList<Item>();
>> >> >                 result.add(new Item());
>> >> >                 return (result);
>> >> >         }
>> >> >
>> >> >         public static class Item {
>> >> >                 private String  title;
>> >> >                 private String  description;
>> >> >
>> >> >                 public String getTitle() { return title; }
>> >> >                 public String getDescription() { return description; }
>> >> >
>> >> >                 public void setTitle(String title) { this.title = title;
>> >> > }
>> >> >                 public void setDescription(String description) {
>> >> > this.description = description; }
>> >> >         }
>> >> > }
>> >> > ----------------------------
>> >> >
>> >> >
>> >>
>> >> --
>> >> View this message in context: http://www.nabble.com/getting-
>> >> %22NO_RESOURCES_AVAILABLE%22-from-
>> >> %22AbstractJAXRSFactoryBean.checkResources%28%29%22-
>> >> tp25120790p25123056.html
>> >> Sent from the cxf-user mailing list archive at Nabble.com.
>> >
>> >
>> >
>> 
>> --
>> View this message in context: http://www.nabble.com/getting-
>> %22NO_RESOURCES_AVAILABLE%22-from-
>> %22AbstractJAXRSFactoryBean.checkResources%28%29%22-
>> tp25120790p25132223.html
>> Sent from the cxf-user mailing list archive at Nabble.com.
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/getting-%22NO_RESOURCES_AVAILABLE%22-from-%22AbstractJAXRSFactoryBean.checkResources%28%29%22-tp25120790p25135192.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to