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