URL-адрес развернутого приложения не работает после добавления / cmis / json в браузер - PullRequest
1 голос
/ 05 апреля 2019

Я нахожусь в процессе изучения того, как служба управления документами (репозитории документов) работает в облачной платформе sap.

Я подписан на блог https://blogs.sap.com/2019/01/17/how-to-handle-attachments-in-sap-cloud-platform-workflow/ Я выполнил шаг 1, шаг 2. Я создал тестовый репозиторий и создал пример Java-приложения Proxy bridge. Мне удалось развернуть и запустить приложение CMIS Proxy. Шаг 3 - протестировать развернутый URL-адрес, и мне нужна помощь.

CMISProxyServlet

пакет com.cf.cloud;

import com.sap.ecm.api.AbstractCmisProxyServlet;

открытый класс CMISProxyServlet extends AbstractCmisProxyServlet { приватный статический финал long serialVersionUID = 1L;

@Override
protected boolean supportAtomPubBinding() {
    return false;
}

@Override
protected boolean supportBrowserBinding() {
    return true;
}


public CMISProxyServlet() {
    super();
}

@Override
protected String getRepositoryUniqueName() {
    return "MySampleRepository";
}

@Override
// For applications in production, use a secure location to store the secret key.
protected String getRepositoryKey() {
    return "abcdef0123456789";
}

}


web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         id="WebApp_ID"  version="3.0" metadata-complete="false">

    <login-config>
        <auth-method>FORM</auth-method>
    </login-config>

    <session-config>
        <session-timeout>20</session-timeout>
    </session-config>

    <security-role>
        <role-name>Everyone</role-name>
    </security-role>

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>All SAP Cloud Platform users</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>Everyone</role-name>
        </auth-constraint>

        <user-data-constraint>
            <transport-guarantee>NONE</transport-guarantee>
            <!-- Use CONFIDENTIAL as transport guarantee to ensure SSL connection (HTTPS) on public deployments
            <transport-guarantee>CONFIDENTIAL</transport-guarantee> -->
        </user-data-constraint>
    </security-constraint>

    <filter>
        <filter-name>RestCsrfPreventionFilter</filter-name>
        <filter-class>org.apache.catalina.filters.RestCsrfPreventionFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>RestCsrfPreventionFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <filter>
        <filter-name>HttpSecurityHeadersFilter</filter-name>
        <filter-class>com.sap.cloud.sdk.cloudplatform.security.servlet.HttpSecurityHeadersFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>HttpSecurityHeadersFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <filter>
        <filter-name>HttpCachingHeaderFilter</filter-name>
        <filter-class>com.sap.cloud.sdk.cloudplatform.security.servlet.HttpCachingHeaderFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>HttpCachingHeaderFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <display-name>CMISProxyServlet</display-name>
    <servlet>
        <servlet-name>CMISProxyServlet</servlet-name>
        <servlet-class>com.sap.ecm.proxy.CMISProxyServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>CMISProxyServlet</servlet-name>
        <url-pattern>/cmis/*</url-pattern>
    </servlet-mapping>
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Proxy</web-resource-name>
            <url-pattern>/cmis/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>EcmDeveloper</role-name>
        </auth-constraint>

    </security-constraint>
    <login-config>
        <auth-method>BASIC</auth-method>
    </login-config>
</web-app>

Работает приложение hello world servlet. Но когда я добавил / cmis / json к URL-адресу приложения, я получил ошибку 404.

Я бы хотел знать две вещи. Во-первых, является ли это правильным вариантом использования, чтобы проверить, можно ли хранить документы в репозитории SCP? Во-вторых, есть ли у нас в SCP выделенный рабочий процесс для обработки вложений, на которые ссылается этот блог, может кто-нибудь предоставить ссылку?

Я прошу прощения, если мои вопросы очень расплывчаты, я просто пытаюсь выяснить, как работает DMS в S4 Hana Cloud.

1 Ответ

0 голосов
/ 05 апреля 2019

Надеюсь, вы правильно получили URL CMIS, как указано в блоге.

Еще один хороший способ обработки этого варианта использования - использование SAP Document Center, который не требует развертывания прокси-моста и его обслуживания.

Кроме того, вы получаете все дополнительные функции SAP Document Center.

Также как вы упомянули встроенную интеграцию с SAP DMS.

Пожалуйста, проверьте детали здесь

https://help.sap.com/viewer/product/SAP_Document_Center/Cloud/en-US

https://blogs.sap.com/2016/05/23/connecting-plm-dms-to-sap-document-center/

С наилучшими пожеланиями,

Saurav

...