Google app engine deploy fail
-----------------------------

                 Key: CXF-3448
                 URL: https://issues.apache.org/jira/browse/CXF-3448
             Project: CXF
          Issue Type: Bug
          Components: JAX-RS
    Affects Versions: 2.3.3
         Environment: Google App Engine v. 1.4.3
Spring 3.0.5.RELEASE
            Reporter: Ɓukasz Strzelecki


I'm try using cxf to expose resource through REST.
While deploying web application error occurs:
{code}
javax.servlet.ServletContext log: unavailable
java.security.AccessControlException: access denied (java.io.FilePermission 
/WEB-INF/cxf-servlet.xml read)
        at 
java.security.AccessControlContext.checkPermission(AccessControlContext.java:355)
        at 
java.security.AccessController.checkPermission(AccessController.java:567)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
        at 
com.google.apphosting.runtime.security.CustomSecurityManager.checkPermission(CustomSecurityManager.java:45)
        at java.lang.SecurityManager.checkRead(SecurityManager.java:888)
        at java.io.File.exists(File.java:788)
        at 
org.apache.cxf.resource.URIResolver.tryFileSystem(URIResolver.java:135)
        at org.apache.cxf.resource.URIResolver.<init>(URIResolver.java:90)
        at org.apache.cxf.resource.URIResolver.<init>(URIResolver.java:73)
        at org.apache.cxf.resource.URIResolver.<init>(URIResolver.java:69)
        at 
org.apache.cxf.transport.servlet.CXFServlet.loadAdditionalConfig(CXFServlet.java:172)
        at 
org.apache.cxf.transport.servlet.CXFServlet.updateContext(CXFServlet.java:158)
        at 
org.apache.cxf.transport.servlet.CXFServlet.loadSpringBus(CXFServlet.java:104)
        at 
org.apache.cxf.transport.servlet.CXFServlet.loadBus(CXFServlet.java:73)
        at 
org.apache.cxf.transport.servlet.AbstractCXFServlet.init(AbstractCXFServlet.java:84)
        at 
org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
        at 
org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at 
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
        at 
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
        at 
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
        at 
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at 
com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:191)
        at 
com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:168)
        at 
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:123)
        at 
com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:261)
        at 
com.google.apphosting.base.RuntimePb$EvaluationRuntime$2.handleRequest(RuntimePb.java:9285)
        at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:437)
        at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:573)
        at 
com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:448)
        at com.google.tracing.TraceContext.runInContext(TraceContext.java:688)
        at 
com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:326)
        at 
com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:318)
        at 
com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:446)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)
{code}

Below configuration of cxf:
web.xml
{code}
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
                 xmlns="http://java.sun.com/xml/ns/javaee";
                 xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
                 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
                 version="2.5">

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring/context.xml</param-value>
    </context-param>

    <listener>
        
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <servlet>
        <servlet-name>CXFServlet</servlet-name>
        
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>CXFServlet</servlet-name>
        <url-pattern>/cxf/*</url-pattern>
    </servlet-mapping>
</web-app>
{code}

Spring context configuration.
{code}
<?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:jaxrs="http://cxf.apache.org/jaxrs";
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                http://cxf.apache.org/jaxrs 
http://cxf.apache.org/schemas/jaxrs.xsd";
    default-lazy-init="false">

    <import resource="classpath:META-INF/cxf/cxf.xml" />
    <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

    <jaxrs:server id="myService" address="/resource">
        <jaxrs:serviceBeans>
            <!-- spring beans -->
        </jaxrs:serviceBeans>
    </jaxrs:server>
</beans>
{code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to