2011-10-19 18 views
1

私はこのバグをしばらく解決しようとしています。 CXF、Spring Webプロジェクト、Mavenをサポートしています。事前に感謝し、もっと情報が必要な場合はお知らせください。基本的に、この問題は、私がcxfターゲットをカール/ブラウズするときに発生します。 Mavenコンパイルはデバッグモードであってもエラーを投げず、呼び出しが行われたときには以下を除いてTomcatを実行しませんでした。Httpリクエストでのjavax.ws.rs.WebApplicationException

STACKTRACE Tomcatの

から
Oct 18, 2011 2:38:20 PM org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging 
    WARNING: Interceptor for {http://restful.prototype.com/}RestfulUserServiceImpl has thrown exception, unwinding now 
    javax.ws.rs.WebApplicationException 
     at org.apache.cxf.jaxrs.utils.InjectionUtils.invokeLifeCycleMethod(InjectionUtils.java:1090) 
     at org.apache.cxf.jaxrs.lifecycle.PerRequestResourceProvider.createInstance(PerRequestResourceProvider.java:71) 
     at org.apache.cxf.jaxrs.lifecycle.PerRequestResourceProvider.getInstance(PerRequestResourceProvider.java:63) 
     at org.apache.cxf.jaxrs.JAXRSInvoker.getServiceObject(JAXRSInvoker.java:300) 
     at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:87) 
     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) 
     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
     at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37) 
     at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106) 
     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263) 
     at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) 
     at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:206) 
     at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:218) 
     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:200) 
     at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:114) 
     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:184) 
     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:112) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:163) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) 
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) 
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964) 
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515) 
     at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
     at java.lang.Thread.run(Thread.java:680) 

bean.xml

<bean 
    ...... 
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd 
    http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd 
    http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd" 
    default-autowire="byName"> 

    <!-- Annotation scan --> 
    <context:annotation-config /> 
    <context:component-scan base-package="com.prototype.core" /> 
    <!-- Reference Module from another project --> 
    <import resource="classpath:META-INF/spring/app-jpa-config.xml"/> 

    <!-- Load CXF modules from cxf.jar --> 
    <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"/> --> 

    <bean id="restfulUser" class="com.prototype.restful.RestfulUserServiceImpl"> 
    </bean> 

    <jaxrs:server id="restfuluserService" 
      serviceClass="com.prototype.restful.RestfulUserServiceImpl" address="/user"> 
      <jaxrs:serviceBeans> 
        <ref bean="restfulUser" /> 
      </jaxrs:serviceBeans> 
    </jaxrs:server> 

    <cxf:bus> 
      <cxf:features> 
        <cxf:logging /> 
      </cxf:features> 
    </cxf:bus> 
    </beans> 

のpom.xml私は私のサービスBeanにスコープ= "要求" を追加することによって、それを固定

<build> 
      <finalName>prototype-service</finalName> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <version>2.3.2</version> 
        <configuration> 
         <source>1.6</source> 
         <target>1.6</target> 
         <compilerArguments> 
          <endorseddirs>${endorsed.dir}</endorseddirs> 
         </compilerArguments> 
        </configuration> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-war-plugin</artifactId> 
        <version>2.1.1</version> 
        <configuration> 
         <failOnMissingWebXml>true</failOnMissingWebXml> 
        </configuration> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-dependency-plugin</artifactId> 
        <version>2.1</version> 
        <executions> 
         <execution> 
          <phase>validate</phase> 
          <goals> 
           <goal>copy</goal> 
          </goals> 
          <configuration> 
           <outputDirectory>${endorsed.dir}</outputDirectory> 
           <silent>true</silent> 
           <artifactItems> 
            <artifactItem> 
             <groupId>javax</groupId> 
             <artifactId>javaee-endorsed-api</artifactId> 
             <version>6.0</version> 
             <type>jar</type> 
            </artifactItem> 
           </artifactItems> 
          </configuration> 
         </execution> 
        </executions> 
       </plugin> 
       <plugin> 
        <groupId>org.codehaus.mojo</groupId> 
        <artifactId>tomcat-maven-plugin</artifactId> 
        <version>1.1</version> 
        <configuration> 
         <url>http://localhost:8080/manager/html</url> 
         <server>development</server> 
         <path>/${project.name}</path> 
        </configuration> 
       </plugin> 
      </plugins> 
     </build> 

答えて

2

、包みなさい誰もが興味を持っています。

<bean id="restfulUser" class="com.prototype.restful.RestfulUserServiceImpl" scope="request" />