2016-07-24 15 views
0

Ich versuche CMIS mit HANA Cloud Document Service mit Maven und Spring zu integrieren. Wenn ich versuche, diesen Code ohne Maven/Spring-Kontext zu verwenden, funktioniert es gut. (Um besser zu verstehen, nehmen Sie bitte einen Blick hier: http://scn.sap.com/community/developer-center/cloud-platform/blog/2013/04/13/document-management-using-hana-cloud-document-service-on-android)Problem, um Proxy-Objekt zu werfen

 Session openCmisSession = null; 
     EcmService ecmSvc = null; 
     InitialContext ctx = new InitialContext(); 
     String lookupName = "java:comp/env/" + "EcmService"; 
     try 
     { 
      Object obj = ctx.lookup(lookupName); 
      ecmSvc = (EcmService) obj; 
     }  
     catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 

Mit Spring, die Ausnahme tritt auf, wenn es versucht Proxy-Objekt zu werfen.

ecmSvc = (EcmService) obj; //Here, the EcmService is a interface 

Die Ausnahme ist:

java.lang.ClassCastException. Com.sun.proxy $ Proxy146 kann nicht auf com.sap.ecm.api.EcmService gegossen werden

at com.msg.reinsurance.application.account.service.FindAccountFacadeImp.findContract(FindAccountFacadeImp.java:93) 

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 

at java.lang.reflect.Method.invoke(Method.java:498) 

at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180) 

at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96) 

at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:189) 

at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:99) 

at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59) 

at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96) 

at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) 

at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) 

at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:254) 

at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234) 

at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208) 

at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) 

at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:180) 

at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:298) 

at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:222) 

at javax.servlet.http.HttpServlet.service(HttpServlet.java:735) 

at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:273) 

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 

at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) 

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) 

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 

at com.sap.core.jpaas.security.auth.service.lib.AbstractAuthenticator.invoke(AbstractAuthenticator.java:168) 

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) 

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 

at com.sap.core.tenant.valve.TenantValidationValve.invokeNextValve(TenantValidationValve.java:167) 

at com.sap.core.tenant.valve.TenantValidationValve.invoke(TenantValidationValve.java:91) 

at com.sap.js.statistics.tomcat.valve.RequestTracingValve.invoke(RequestTracingValve.java:34) 

at com.sap.core.js.monitoring.tomcat.valve.RequestTracingValve.invoke(RequestTracingValve.java:27) 

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436) 

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) 

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) 

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 

at java.lang.Thread.run(Thread.java:745) 

Beliebig Hilfe wird geschätzt. Vielen Dank.

Antwort

0

Bei einer besten Wette würde ich denken, dass Sie die resp. Client-Bibliotheken in Ihre Anwendung, so dass sie mit den bereits von der Plattform bereitgestellten kollidieren (aufgrund verschiedener Klassenlader). Überprüfen Sie dies. Zusätzlich sollte das Problem nicht durch meine Annahme verursacht werden, können Sie hier nach einer anderen Problemumgehung suchen: http://scn.sap.com/thread/3803685

Verwandte Themen