Попытка создать пользовательскую службу OData v2 с источником данных из S / 4HANA Cloud с помощью S / 4HANA Cloud SDK - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь создать пользовательскую службу OData v2 в java с источником данных S / 4HANA Cloud, используя S / 4HANA Cloud SDK.Я пытался следовать разделу 8.3 книги SAP Press «Расширение SAP S / HANA: параллельные расширения с помощью SAP S / HANA Cloud SDK», за исключением того, что я пытался заменить OData версии 2 на версию 4 в зависимости на странице.285. Когда я выполняю mvn clean install, он выдает ошибку, сообщая, что не может найти odatav2 в com.sap.cloud.servicesdk.prov.(Я получаю чистую установку, когда использую odatav4.) Причина, по которой я хочу OData v2, заключается в том, что версия 4 не очень хорошо поддерживается для приложений SAPUI5.

1 Ответ

0 голосов
/ 26 марта 2019

Настройка для подготовки OData V2 выглядит немного иначе. Поэтому удалите все изменения, которые вы сделали, чтобы использовать подготовку OData V4. Затем добавьте следующее:

  1. Добавьте следующие зависимости (вместо 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>
    
  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.

...