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
Post a Comment