> -----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.

Reply via email to