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.
