[英]Problem with AttachmentService of SAP Cloud SDK for JavaScript
当前,我们使用SAP REST API上载和管理附件 。
我们想用SDK替换标准请求,因为在通过具有相应代理设置的CloudConnector
获取连接时遇到问题,并且因为我们还将SDK用于所有其他请求。
var attContentSetBuilder = AttachmentContentSet.builder();
attContentSetBuilder.documentInfoRecordDocNumber("10000000008");
attContentSetBuilder.documentInfoRecordDocPart("000");
attContentSetBuilder.documentInfoRecordDocType("YBO");
attContentSetBuilder.documentInfoRecordDocVersion("01");
attContentSetBuilder.businessObjectTypeName("DRAW");
attContentSetBuilder.fileName("TEST.pdf")
attContentSetBuilder.content(fileToBase64("C:\\TEST.pdf"));
var attContentSet = attContentSetBuilder.build();
var requestBuilder = new AttachmentContentSetRequestBuilder();
var contentSetRequester = requestBuilder.create(attContentSet);
contentSetRequester.withCustomHeaders({ key: 'slug', value: 'TEST.pdf' }).execute({XXX}).then ...
function fileToBase64(filename: string): string {
var fs = require('fs');
return fs.readFileSync(filename, 'utf8');
}
带有二进制数据的内容/正文会这样设置吗? 标头值slug
是否也必须设置? 附件服务是否还支持GOS
? 到目前为止,我们得到了错误:
“附件名称不能为空”
错误消息看起来像是您从S / 4HANA API获得的消息,因此您的请求似乎存在语义问题。 不幸的是,API Business Hub在传达请求的必需字段方面不是很好,但是这里有一些指示信息:
documentInfoRecordDocType: string;
documentInfoRecordDocNumber: string;
documentInfoRecordDocVersion: string;
documentInfoRecordDocPart: string;
logicalDocument: string;
archiveDocumentId: string;
linkedSapObjectKey: string;
businessObjectTypeName: string;
所以也许为您所缺少的提供解决方案
此处提供了有关此API的更多文档 (我到达Business Hub上的API页面,单击“详细信息”,然后单击页面底部的“业务文档”到达此处 )。
您的.withCustomHeaders
看起来.withCustomHeaders
,我猜您想做的是: .withCustomHeaders({ slug: 'TEST.pdf' })
奖励:构建器和请求构建器具有流畅的API,因此您也可以像这样使用它:
const attContentSet = AttachmentContentSet.builder()
.documentInfoRecordDocNumber("10000000008")
.documentInfoRecordDocPart("000")
.documentInfoRecordDocType("YBO")
.documentInfoRecordDocVersion("01")
.businessObjectTypeName("DRAW")
.fileName("TEST.pdf")
.content(fileToBase64("C:\\TEST.pdf"))
.build();
当然,这是一个口味问题,我个人认为这在精神上更容易解析。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.