java - 在浏览器中附加 /cmis/json 后部署的应用程序 URL 不起作用
问题描述
我正在学习文档管理服务(文档存储库)如何在 sap 云平台中工作。
我正在关注链接的博客https://blogs.sap.com/2019/01/17/how-to-handle-attachments-in-sap-cloud-platform-workflow/ 我已经完成了第 1 步、第 2 步。我创建了一个测试存储库并创建了一个示例代理桥 Java 应用程序。我能够部署和启动 CMIS 代理应用程序。第 3 步是测试部署的 URL,这是我需要帮助的。
CMISProxyServlet
包 com.cf.cloud;
导入 com.sap.ecm.api.AbstractCmisProxyServlet;
公共类 CMISProxyServlet 扩展 AbstractCmisProxyServlet { private static final 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 中是如何工作的。
解决方案
希望您正确获取博客中提到的 CMIS URL。
处理此用例的另一个好方法是使用 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/
此致,
索拉夫