简体   繁体   English

尝试通过Odata服务连接时,ErpConfigContext和ODataQueryBuilder会抛出错误

[英]ErpConfigContext and ODataQueryBuilder throw error when trying to connect through Odata service

I am trying to build an app for Cloud solution. 我正在尝试为云解决方案构建应用程序。 When trying to run the app locally, I got error: 当尝试在本地运行应用程序时,我收到错误:

java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError:

com/sap/cloud/sdk/odatav2/connectivity/ODataException. COM / SAP /云/ SDK / odatav2 /连接/ ODataException。

This is running on Java EE 7 Web Profile Tomee 7 server. 它在Java EE 7 Web Profile Tomee 7服务器上运行。

Apr 22, 2019 3:48:33 PM org.apache.catalina.core.ContainerBase startInternal
SEVERE: A child container failed during start
java.util.center code hereoncurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/WorkOrderDemo]]
       at java.util.concurrent.FutureTask.report(FutureTask.java:122)
       at java.util.concurrent.FutureTask.get(FutureTask.java:192)
       at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
       at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1420)
       at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1410)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
       at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/WorkOrderDemo]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
       ... 6 more
Caused by: java.lang.NoClassDefFoundError: com/sap/cloud/sdk/odatav2/connectivity/ODataException
       at java.lang.Class.getDeclaredFields0(Native Method)
       at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
       at java.lang.Class.getDeclaredFields(Class.java:1916)
       at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:110)
       at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:269)
       at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:137)
       at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:69)
       at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:328)
       at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:768)
       at org.apache.catalina.startup.OpenEJBContextConfig.configureStart(OpenEJBContextConfig.java:124)
       at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
       at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
       at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       ... 6 more
Caused by: java.lang.ClassNotFoundException: com.sap.cloud.sdk.odatav2.connectivity.ODataException
       at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1309)
       at org.apache.tomee.catalina.TomEEWebappClassLoader.loadClass(TomEEWebappClassLoader.java:208)
       at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1137)
       ... 20 more

Apr 22, 2019 3:48:33 PM org.apache.catalina.core.ContainerBase startInternal
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
       at java.util.concurrent.FutureTask.report(FutureTask.java:122)
       at java.util.concurrent.FutureTask.get(FutureTask.java:192)
       at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
       at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       at org.apache.catalina.startup.Catalina.start(Catalina.java:681)
       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.catalina.startup.Bootstrap.start(Bootstrap.java:353)
       at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
       at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1420)
       at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1410)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
       at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
       at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:950)
       at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       ... 6 more
Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/WorkOrderDemo]]
       at java.util.concurrent.FutureTask.report(FutureTask.java:122)
       at java.util.concurrent.FutureTask.get(FutureTask.java:192)
       at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
       ... 8 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/WorkOrderDemo]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
       ... 6 more
Caused by: java.lang.NoClassDefFoundError: com/sap/cloud/sdk/odatav2/connectivity/ODataException
       at java.lang.Class.getDeclaredFields0(Native Method)
       at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
       at java.lang.Class.getDeclaredFields(Class.java:1916)
       at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:110)
       at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:269)
       at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:137)
       at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:69)
       at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:328)
       at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:768)
       at org.apache.catalina.startup.OpenEJBContextConfig.configureStart(OpenEJBContextConfig.java:124)
       at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
       at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
       at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       ... 6 more
Caused by: java.lang.ClassNotFoundException: com.sap.cloud.sdk.odatav2.connectivity.ODataException
       at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1309)
       at org.apache.tomee.catalina.TomEEWebappClassLoader.loadClass(TomEEWebappClassLoader.java:208)
       at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1137)
       ... 20 more

Apr 22, 2019 3:48:33 PM org.apache.catalina.startup.Catalina start
SEVERE: The required Server component failed to start so Tomcat is unable to start.
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
       at org.apache.catalina.startup.Catalina.start(Catalina.java:681)
       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.catalina.startup.Bootstrap.start(Bootstrap.java:353)
       at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
       at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       ... 7 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
       at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       ... 9 more
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
       at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:950)
       at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       ... 11 more
Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
       at java.util.concurrent.FutureTask.report(FutureTask.java:122)
       at java.util.concurrent.FutureTask.get(FutureTask.java:192)
       at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
       ... 13 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
       at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1420)
       at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1410)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
       at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
       at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:950)
       at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       ... 6 more
Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/WorkOrderDemo]]
       at java.util.concurrent.FutureTask.report(FutureTask.java:122)
       at java.util.concurrent.FutureTask.get(FutureTask.java:192)
       at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
       ... 8 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/WorkOrderDemo]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
       ... 6 more
Caused by: java.lang.NoClassDefFoundError: com/sap/cloud/sdk/odatav2/connectivity/ODataException
       at java.lang.Class.getDeclaredFields0(Native Method)
       at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
       at java.lang.Class.getDeclaredFields(Class.java:1916)
       at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:110)
       at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:269)
       at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:137)
       at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:69)
       at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:328)
       at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:768)
       at org.apache.catalina.startup.OpenEJBContextConfig.configureStart(OpenEJBContextConfig.java:124)
       at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
       at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
       at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       ... 6 more
Caused by: java.lang.ClassNotFoundException: com.sap.cloud.sdk.odatav2.connectivity.ODataException
       at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1309)
       at org.apache.tomee.catalina.TomEEWebappClassLoader.loadClass(TomEEWebappClassLoader.java:208)
       at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1137)
       ... 20 more

Local Destination for the server has been configured as ErpQueryEndpoint . 服务器的本地目标已配置为ErpQueryEndpoint Pom.xml also includes the groupID and artifactId for Odata connectivity. Pom.xml还包括groupIDartifactIdOdata连接。 Packages have been imported. 包已导入。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                 // TODO Auto-generated method stub
                 //response.getWriter().append("Served at: ").append(request.getContextPath());
                 final ErpConfigContext configContext = new ErpConfigContext(ErpDestination.getDefaultName());
                 try {
                        final List<MyWorkOrderType> workOrders = ODataQueryBuilder
                                .withEntity("/sap/opu/odata/sap/ZCF_workorder_SRV",
                                        "WorkOrderSet")
                                .select("Aufnr",
                                        "Ktext",
                                        "Auart",
                                        "Asttx")
                                .build()
                                .execute(configContext)
                                .asList(MyWorkOrderType.class);
                 } catch (IllegalArgumentException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                 } catch (ODataException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                 }
           }

As I can see in your code, you are querying a custom OData service of SAP S/4HANA. 正如我在您的代码中看到的那样,您正在查询SAP S / 4HANA的自定义OData服务。 For OData queries to custom OData services, you might also consider using the Virtual Data Model (VDM) of the S/4HANA Cloud SDK instead of ODataQueryBuilder. 对于自定义OData服务的OData查询,您还可以考虑使用S / 4HANA Cloud SDK虚拟数据模型(VDM)而不是ODataQueryBuilder。 To use the VDM with a custom OData service, one can use the VDM generator as described in the following blog post . 要将VDM与自定义OData服务一起使用,可以使用VDM生成器,如以下博客文章中所述 By the way, it also works for the S/4HANA On-Premise. 顺便说一句,它也适用于S / 4HANA内部部署。 You can find more details on the customising here . 您可以在此处找到有关自定义的更多详细信息。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM