我正在尝试使用S / 4HANA Cloud SDK在Java中使用S / 4HANA Cloud数据源创建自定义OData v2服务。我尝试遵循SAP Press的第8.3节“扩展SAP S / HANA:SAP S / HANA Cloud SDK的并行扩展”,但在页面上的依赖项中尝试用OData版本2代替版本4。 285.当我执行mvn clean install时,它错误地告诉我在com.sap.cloud.servicesdk.prov中找不到odatav2。 (当我改用odatav4时,我得到了全新安装。)我希望OData v2是版本4的原因似乎并未得到SAPUI5应用程序的充分支持。
答案 0 :(得分:0)
OData V2设置的设置看起来有些不同。因此,请删除使用OData V4设置所做的所有修改。然后添加以下内容:
将以下依赖项(而不是odata-v4一个)添加到您的application/pom.xml
文件中:
<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>
将以下条目添加到您的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>
application/src/main/resources/edmx
目录。这些步骤应该可以启动并运行OData V2 Provisioning服务。