如何将文件从Salesforce Apex上载到IBM Watson

时间:2018-04-18 06:25:25

标签: salesforce watson

我正在尝试将示例文档从Salesforce Apex类上传到IBM Watson。我正在尝试使用以下代码段,但我收到此错误

" 23:13:17:000 USER_DEBUG"错误" :"请求超时,请再试一次。"

不知怎的,它正在超时。

        Blob fileBlob = Blob.valueOf('This is a sample pdf file');
        IBMDiscoveryV1 discovery = new IBMDiscoveryV1('2017-11-07');
        IBMDiscoveryV1Models.AddDocumentOptionsBuilder builder = new IBMDiscoveryV1Models.AddDocumentOptionsBuilder(
                '<<EnvironmentId>>',
                '<<CollectionId>>');

        IBMWatsonFile.FileBuilder fileBuilder = new IBMWatsonFile.FileBuilder();
        fileBuilder.name('Sample.pdf');
        fileBuilder.body(fileBlob);
        IBMWatsonFile file = fileBuilder.build();
        builder.file(file);

        IBMDiscoveryV1Models.AddDocumentOptions options = builder.build();

        IBMDiscoveryV1Models.DocumentAccepted docAccepted = discovery.addDocument(options);

2 个答案:

答案 0 :(得分:1)

IBM Watson Salesforce SDK出现问题,这就是您获得超时的原因。此问题已在此pull request中修复,并在v1.4.0中发布。

问题是我们发错了mime-typeAPPLICATION_OCTET_STREAM),我们没有在多部分请求中发送文件名。

答案 1 :(得分:0)

如果您持续看到此错误,请在SDK的GitHub回购中提出问题。

https://github.com/watson-developer-cloud/salesforce-sdk/issues