[ https://issues.apache.org/jira/browse/OLINGO-114?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
M Carissimi closed OLINGO-114. ------------------------------ Stephan, thanks again for your help, I have resolved my issues with the container. Regards > Impossible to run Olingo Provider on Glassfish 3.1.2.2 > ------------------------------------------------------ > > Key: OLINGO-114 > URL: https://issues.apache.org/jira/browse/OLINGO-114 > Project: Olingo > Issue Type: Bug > Components: odata4-producer > Affects Versions: V2 1.0.0 > Environment: Glassfish 3.1.2.2 and NetBeans 7.3.1 on MacOS 10.7.5 > Reporter: M Carissimi > Assignee: Stephan Klevenz > > Hello, > I have created an Olingo Provider which connects to a database using custom > code and creates the schema/metadata for a set of tables. The provider is > deployed with a web application configured using the CXFNonSpringJaxrsServlet. > When I run the web application on Tomcat 7.0.34, I am able to successfully > request the $metadata URL. When I run the web application on Glassfish > 3.1.2.2 (open source edition), I am unable to get the $metadata due to the > following exception: > {code} > [#|2014-01-09T14:00:17.734+0000|INFO|glassfish3.1.2|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=23;_ThreadName=Thread-4;|ODataPrototypeOlingo > was successfully deployed in 8,655 milliseconds.|#] > [#|2014-01-09T14:00:51.289+0000|WARNING|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=26;_ThreadName=Thread-4;|StandardWrapperValve[ResouceNoLinksServlet]: > PWC1406: Servlet.service() for servlet ResouceNoLinksServlet threw exception > java.lang.RuntimeException: org.apache.cxf.interceptor.Fault: > javax.ws.rs.core.HttpHeaders.getHeaderString(Ljava/lang/String;)Ljava/lang/String; > at > org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:116) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:331) > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) > at > org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239) > at > org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137) > at > org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:158) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:243) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:168) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:219) > at > org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) > at > org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161) > at > org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231) > at > com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317) > at > com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195) > at > com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860) > at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757) > at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056) > at > com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229) > at > com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) > at > com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) > at > com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) > at > com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) > at > com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) > at > com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) > at com.sun.grizzly.ContextTask.run(ContextTask.java:71) > at > com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) > at > com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) > at java.lang.Thread.run(Thread.java:695) > Caused by: org.apache.cxf.interceptor.Fault: > javax.ws.rs.core.HttpHeaders.getHeaderString(Ljava/lang/String;)Ljava/lang/String; > at > org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:162) > at > org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:128) > at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:198) > at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:100) > at > org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58) > at > org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:94) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271) > ... 34 more > Caused by: java.lang.NoSuchMethodError: > javax.ws.rs.core.HttpHeaders.getHeaderString(Ljava/lang/String;)Ljava/lang/String; > at > org.apache.olingo.odata2.core.rest.RestUtil.extractRequestContentType(RestUtil.java:83) > at > org.apache.olingo.odata2.core.rest.ODataSubLocator.create(ODataSubLocator.java:158) > at > org.apache.olingo.odata2.core.rest.ODataRootLocator.handleRequest(ODataRootLocator.java:128) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180) > at > org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96) > ... 39 more > |#] > {code} > My web.xml file is as follow > {code} > <?xml version="1.0" encoding="UTF-8"?> > <web-app version="3.0" 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/web-app_3_0.xsd"> > <session-config> > <session-timeout> > 30 > </session-timeout> > </session-config> > <servlet> > <servlet-name>ResouceNoLinksServlet</servlet-name> > > <servlet-class>org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet</servlet-class> > <init-param> > <param-name>javax.ws.rs.Application</param-name> > > <param-value>org.apache.olingo.odata2.core.rest.app.ODataApplication</param-value> > </init-param> > <init-param> > <param-name>org.apache.olingo.odata2.service.factory</param-name> > > <param-value>com.energysys.odata.producer.EnergysysServiceFactory</param-value> > </init-param> > <load-on-startup>1</load-on-startup> > </servlet> > <servlet-mapping> > <servlet-name>ResouceNoLinksServlet</servlet-name> > <url-pattern>/resourcenolinks.svc/*</url-pattern> > </servlet-mapping> > <resource-ref> > <res-ref-name>jdbc/RecordStoreDS</res-ref-name> > <res-type>javax.sql.DataSource</res-type> > <res-auth>Container</res-auth> > <res-sharing-scope>Shareable</res-sharing-scope> > </resource-ref> > </web-app> > {code} > My glassfish-web.xml file is as follow > {code} > <?xml version="1.0" encoding="UTF-8"?> > <!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish > Application Server 3.1 Servlet 3.0//EN" > "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"> > <glassfish-web-app error-url=""> > <class-loader delegate="false"/> > <jsp-config> > <property name="keepgenerated" value="true"> > <description>Keep a copy of the generated servlet class' java > code.</description> > </property> > </jsp-config> > </glassfish-web-app> > {code} > My web application WEB-INF/lib directory contains the following JARs (most of > them taken from your example application > olingo-odata2-ref-web-incubating-1.0.0.war): > bsf-2.3.0.jar > bsh-2.0b1.jar > com.google.code.gson-gson-2.2.2.jar > commons-cli-1.0.jar > commons-codec-1.6.jar > commons-httpclient-2.0.jar > commons-logging-api-1.1.jar > cxf-api-2.7.5.jar > cxf-rt-bindings-xml-2.7.5.jar > cxf-rt-core-2.7.5.jar > cxf-rt-frontend-jaxrs-2.7.5.jar > cxf-rt-transports-http-2.7.5.jar > eselicense.jar > essd9-9sp3f5.jar > geronimo-javamail_1.4_spec-1.7.1.jar > gson-2.2.2.jar > javax.ws.rs-api-2.0-m10.jar > jaxb-impl-2.2.6.jar > log4j-1.2.17.jar > ojdbc6.jar > org.apache.olingo-olingo-odata2-api-incubating-1.0.0.jar > org.apache.olingo-olingo-odata2-core-incubating-1.0.0.jar > slf4j-api-1.7.1.jar > slf4j-log4j12-1.7.1.jar > stax2-api-3.1.1.jar > woodstox-core-asl-4.2.0.jar > wsdl4j-1.6.3.jar > xbean-1.0.3-es.jar > xmlschema-core-2.0.3.jar > xmlunit-1.0.jar -- This message was sent by Atlassian JIRA (v6.1.5#6160)