尝试使用 S/4HANA Cloud SDK 使用来自 S/4HANA Cloud 的数据源创建自定义 OData v2 服务

2023-12-27

我正在尝试使用 S/4HANA Cloud SDK 使用 S/4HANA Cloud 数据源在 java 中创建自定义 OData v2 服务。我尝试遵循 SAP Press 书籍“Extending SAP S/HANA: Side-by-Side Extensions with the SAP S/HANA Cloud SDK”的第 8.3 节,但我尝试在页面依赖项中用 OData 版本 2 替换版本 4 285. 当我执行 mvn clean install 时,它出错,告诉我在 com.sap.cloud.servicesdk.prov 中找不到 odatav2。 (当我使用 odatav4 时,我得到了全新安装。)我想要 OData v2 的原因是版本 4 似乎不受 SAPUI5 应用程序的良好支持。


OData V2 配置的设置看起来有点不同。因此,请删除您为使用 OData V4 配置所做的所有修改。然后添加以下内容:

  1. 将以下依赖项(而不是 odata-v4 依赖项)添加到您的application/pom.xml file:

    <dependency>
        <groupId>com.sap.cloud.servicesdk.prov</groupId>
        <artifactId>odata2.web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.sap.cloud.servicesdk.prov</groupId>
        <artifactId>odata2.xsa</artifactId>
    </dependency>
    <dependency>
        <groupId>com.sap.cloud.servicesdk.prov</groupId>
        <artifactId>odatav2-hybrid</artifactId>
        <exclusions>
            <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.sap.cloud.servicesdk.prov</groupId>
        <artifactId>odatav2-prov</artifactId>
    </dependency>
    
  2. 将以下条目添加到您的application/src/main/webapp/WEB-INF/web.xml文件,替换YOUR.PACKAGE使用包来搜索 OData 端点:

    <servlet>
        <servlet-name>ODataServlet</servlet-name>
        <servlet-class>org.apache.olingo.odata2.core.servlet.ODataServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
        <init-param>
            <param-name>org.apache.olingo.odata2.service.factory</param-name>
            <param-value>
                com.sap.cloud.sdk.service.prov.v2.rt.core.CloudSDKODataServiceFactory
            </param-value>
        </init-param>
        <init-param>
            <param-name>org.apache.olingo.odata2.path.split</param-name>
            <param-value>1</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>ODataServlet</servlet-name>
        <url-pattern>/odata/v2/*</url-pattern>
    </servlet-mapping>
    <context-param>
        <param-name>package</param-name>
        <param-value>YOUR.PACKAGE</param-value>
    </context-param>
    <listener>
        <listener-class>
            com.sap.cloud.sdk.service.prov.v2.rt.core.web.ServletListener
        </listener-class>
    </listener>
    
  3. 将 OData V2 edmx 文件添加到application/src/main/resources/edmx目录。

这些步骤应该可以让您的 OData V2 Provisioning 服务启动并运行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试使用 S/4HANA Cloud SDK 使用来自 S/4HANA Cloud 的数据源创建自定义 OData v2 服务 的相关文章

随机推荐