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