【发布时间】:2017-06-13 08:32:02
【问题描述】:
我正在尝试使用 Javascript 在 HCP 的 SAP 文档中心创建一个文档,但我做不到。 SAP Document Center 使用 CMIS 协议与其他应用程序进行通信。我已经能够从我的 SAPUI5 应用程序连接到 SAP 文档中心。我还设法创建了一个文件夹,如下所示:
createFolder: function(repositoryId, parentFolderId, folderName) {
var data = {
objectId: parentFolderId,
cmisaction: "createFolder",
"propertyId[0]": "cmis:name",
"propertyValue[0]": folderName,
"propertyId[1]": "cmis:objectTypeId",
"propertyValue[1]": "cmis:folder"
};
$.ajax("/destination/document/mcm/json/" + repositoryId + "/root", {
type: "POST",
data: data
}).done(function() {
MessageBox.show("Folder with name " + folderName + " successfully created.");
}).fail(function(jqXHR) {
MessageBox.show("Creation of folder with name " + folderName + " failed. XHR response message: " + jqXHR.responseJSON.message);
});
},
但是,我发现创建文档是不可能的。我找不到 CMIS“createDocument”方法的 Internet 示例。 Java 有很多示例,但与 Javascript 无关。我不知道要发送的数据结构是什么。代码如下:
createDocument: function(repositoryId, parentFolderId, documentName, content) {
/**
* 'content' contains the whole document converted to a base64 string like this:
* "data:application/pdf;base64,JVBERi0xLjUNJeLjz9MNCjIxNCAwIG9iag08P..."
*/
var data = {
objectId: parentFolderId,
cmisaction: "createDocument",
contentStream: content,
"propertyId[0]": "cmis:name",
"propertyValue[0]": documentName,
"propertyId[1]": "cmis:objectTypeId",
"propertyValue[1]": "cmis:document"
};
$.ajax("/destination/document/mcm/json/" + repositoryId + "/root", {
type: "POST",
data: data
}).done(function() {
MessageBox.show("Document with name " + documentName + " successfully created.");
}).fail(function(jqXHR) {
MessageBox.show("Creation of document with name " + documentName + " failed. XHR response message: " + jqXHR.responseJSON.message);
});
},
有了这个,我在 SAP Document Center 中创建了一个文件记录,但它不获取数据。一个未格式化的文件被创建,它应该发送格式(PDF、txt、Excel、Doc、...)。
有人知道怎么做吗?
问候。
感兴趣的链接:
CMIS 标准 http://docs.oasis-open.org/cmis/CMIS/v1.1/os/CMIS-v1.1-os.html#x1-1710002
Java 的使用示例(不是 Javascript) http://chemistry.apache.org/java/developing/guide.html
【问题讨论】:
-
您是否尝试将内容类型设置为“multipart/form-data”?