RestEasy / CDI on TomEE 1.5.2 -


i'm trying resteasyapplication running. major problem implement cdi should not hard.

so here prob. i'm using @named on service class , @inject @ restservice class

@path("/patient") @produces({ mediatype.application_xml, mediatype.text_xml, mediatype.application_json   })  @consumes     @stateless public class patientrest {       @inject     patientservice patientservice;... 

@named public class patientservice {      // resteasy demands no-arg constructor     public patientservice() {     }       public patient getpatient(string patientnumber) {... 

my beans.xml looks this

<?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"      xsi:schemalocation="http://java.sun.com/xml/ns/javaee      http://java.sun.com/xml/ns/javaee/beans_1_0.xsd"> </beans> 

all on tried use several tomee- howtos describes.

when i'm trying deploy on tomee (1.5.2) i'm getting in stacktrace.

uses @inject cdi not enabled. maybe youd need add beans.xml file.   javax.enterprise.inject.unsatisfiedresolutionexception: api type [de.klinikum.service.patientservice] not found qualifiers  qualifiers: [@javax.enterprise.inject.default()] injection field injection point, field name :  patientservice, bean owner : [patientrest, name:null, webbeans type:enterprise, api types:[java.lang.object,de.klinikum.communication.patientrest,java.io.serializable], qualifiers:[javax.enterprise.inject.any,javax.enterprise.inject.default]] 

any idea?

i trying bit more .. , now... deployment works. still http500 failure caused null pointer

type exception report  message java.lang.nullpointerexception  description server encountered internal error prevented fulfilling request.  exception  org.jboss.resteasy.spi.unhandledexception: java.lang.nullpointerexception     org.jboss.resteasy.core.synchronousdispatcher.handleapplicationexception(synchronousdispatcher.java:365)     org.jboss.resteasy.core.synchronousdispatcher.handleexception(synchronousdispatcher.java:233)     org.jboss.resteasy.core.synchronousdispatcher.handleinvokerexception(synchronousdispatcher.java:209)     org.jboss.resteasy.core.synchronousdispatcher.getresponse(synchronousdispatcher.java:557)     org.jboss.resteasy.core.synchronousdispatcher.invoke(synchronousdispatcher.java:524)     org.jboss.resteasy.core.synchronousdispatcher.invoke(synchronousdispatcher.java:126)     org.jboss.resteasy.plugins.server.servlet.servletcontainerdispatcher.service(servletcontainerdispatcher.java:208)     org.jboss.resteasy.plugins.server.servlet.httpservletdispatcher.service(httpservletdispatcher.java:55)     org.jboss.resteasy.plugins.server.servlet.httpservletdispatcher.service(httpservletdispatcher.java:50)     javax.servlet.http.httpservlet.service(httpservlet.java:728) root cause  java.lang.nullpointerexception     de.klinikum.communication.patientrest.getpatient(patientrest.java:48)     sun.reflect.nativemethodaccessorimpl.invoke0(native method)     sun.reflect.nativemethodaccessorimpl.invoke(unknown source)     sun.reflect.delegatingmethodaccessorimpl.invoke(unknown source)     java.lang.reflect.method.invoke(unknown source)     org.jboss.resteasy.core.methodinjectorimpl.invoke(methodinjectorimpl.java:167)     org.jboss.resteasy.core.resourcemethod.invokeontarget(resourcemethod.java:269)     org.jboss.resteasy.core.resourcemethod.invoke(resourcemethod.java:227)     org.jboss.resteasy.core.resourcemethod.invoke(resourcemethod.java:216)     org.jboss.resteasy.core.synchronousdispatcher.getresponse(synchronousdispatcher.java:542)     org.jboss.resteasy.core.synchronousdispatcher.invoke(synchronousdispatcher.java:524)     org.jboss.resteasy.core.synchronousdispatcher.invoke(synchronousdispatcher.java:126)     org.jboss.resteasy.plugins.server.servlet.servletcontainerdispatcher.service(servletcontainerdispatcher.java:208)     org.jboss.resteasy.plugins.server.servlet.httpservletdispatcher.service(httpservletdispatcher.java:55)     org.jboss.resteasy.plugins.server.servlet.httpservletdispatcher.service(httpservletdispatcher.java:50)     javax.servlet.http.httpservlet.service(httpservlet.java:728) note full stack trace of root cause available in apache tomcat (tomee)/7.0.37 logs. 

seems container not able provide patientservice bean... why ?

.------------------ still same failure.. maybe need special dependencys ? ... here pom.xml

<?xml version="1.0" encoding="utf-8"?> <project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"     xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">     <modelversion>4.0.0</modelversion>     <groupid>de.klinikumlmu.server</groupid>     <artifactid>klinikumserver</artifactid>     <version>0.0.1-snapshot</version>     <name>klinikumserver</name>     <properties>         <sesame.version>             2.7.0         </sesame.version>     </properties>     <packaging>war</packaging>     <build>         <plugins>             <plugin>                 <artifactid>maven-compiler-plugin</artifactid>                 <version>3.0</version>                 <configuration>                     <source>1.7</source>                     <target>1.7</target>                 </configuration>             </plugin>             <plugin>                 <groupid>org.apache.maven.plugins</groupid>                 <artifactid>maven-war-plugin</artifactid>                 <version>2.3</version>                 <configuration>                     <webxml>webcontent\web-inf\web.xml</webxml>                 </configuration>             </plugin>             <plugin>                 <groupid>org.apache.openejb.maven</groupid>                 <artifactid>tomee-maven-plugin</artifactid>                 <version>1.5.2</version>                 <configuration>                     <tomeeversion>1.5.2</tomeeversion>                     <!-- <tomeeclassifier>plus</tomeeclassifier> -->                 </configuration>             </plugin>         </plugins>     </build>     <dependencies>             <dependency>       <groupid>org.apache.openejb</groupid>       <artifactid>javaee-api</artifactid>       <version>6.0-4</version>       <scope>provided</scope>     </dependency>         <dependency>             <groupid>org.openrdf.sesame</groupid>             <artifactid>sesame-runtime</artifactid>             <version>${sesame.version}</version>         </dependency>         <dependency>             <groupid>org.apache.tomcat</groupid>             <artifactid>catalina</artifactid>             <version>6.0.26</version>         </dependency>         <dependency>     <groupid>org.apache.openejb</groupid>     <artifactid>cdi-tomee</artifactid>     <version>4.5.2</version> </dependency>         <dependency>             <groupid>org.jboss.resteasy</groupid>             <artifactid>resteasy-jaxrs</artifactid>             <version>2.3.6.final</version>         </dependency>         <dependency>             <groupid>org.jboss.resteasy</groupid>             <artifactid>resteasy-jaxb-provider</artifactid>             <version>2.3.6.final</version>         </dependency>         <dependency>             <groupid>org.slf4j</groupid>             <artifactid>slf4j-log4j12</artifactid>             <version>1.6.0</version>         </dependency>         <dependency>             <groupid>junit</groupid>             <artifactid>junit</artifactid>             <version>4.8.1</version>             <scope>test</scope>         </dependency>     </dependencies>     <reporting>         <plugins>             <plugin>                 <groupid>org.apache.maven.plugins</groupid>                 <artifactid>maven-checkstyle-plugin</artifactid>                 <version>2.10</version>             </plugin>         </plugins>     </reporting> </project> 

i'm geeting deeper deeper it. i've tried place beans.xml in web-inf folder , in meta-inf folder to...

we got answer^^..

to use cdi resteasy , tomee have include special resteasy cdi dependency. since use works find...

<dependency>             <groupid>org.jboss.resteasy</groupid>             <artifactid>resteasy-cdi</artifactid>             <version>${resteasy.version}</version>             <exclusions>                 <exclusion>                     <groupid>org.jboss.resteasy</groupid>                     <artifactid>resteasy-jaxrs</artifactid>                 </exclusion>             </exclusions> </dependency> 

thanks our help...


Comments