大家好,大家好。
这个问题与一个名为OpenText ContentServer10.5(以前称为LiveLink)的特定产品和他的(CWS)的使用有关。
我们使用一个非常简单的调用来检索一个文档,使用他的DocumentID "GetNode“传递内部文档Id:
此方法每次都有效,除非我们检索一些文件,如带有xls或xlsx扩展名的Microsoft。
即使是包含"Hallo Word“的文本文件(改名为xls )也不能工作!
我的想法是:( a)一个错误的web服务和一个补丁是必需的,b)我们在LiveLink配置中遗漏了一些东西来启用某些文件。
任何帮助都是受欢迎的。
感谢前卫的支持
更具体地说,请考虑我们有一个带有ID= 229835的文档(昵称也有相同的值)
1)对于GetNode(229835),我们收到以下错误: Livelink上的DocumentManagement.GetNode()失败。没有返回结果。检查Livelink线程日志。(服务器日志上没有任何内容!)
2)使用GetNodeByNickName("229835"),一切都很好。
3)使用te GetGUID(229835),我们首先检索像“3F67.8942”这样的GUID,然后使用GetNodeByGUID(""3F67..8942"),一切都很好。
那么,我的问题是,为什么第一个命令失败而另两个命令工作呢?
考虑到这“似乎”发生在某些类型的XLS、XLSX、ZIP、DOC、DOCX文件中。尺寸不超过2MB。
发布于 2015-09-01 16:39:43
GetNode调用只返回节点的元数据。您想要使用GetVersionContents。
至少您需要为所需的内容指定ID和versionNum。下面的代码是用Ruby编写的一个示例,但是应该很容易将逻辑转换成不同的语言。
#
# get specific +version+ of a document +id+
# if +file_name+ is nil it returns the content of the file as base64 encoded string
#
def get_version(id, version, file_name=nil)
response = @docman.request('GetVersionContents',
'wsdl:ID' => id,
'wsdl:versionNum' => version)[:contents]
if file_name
File.open(file_name, 'wb') do |f|
f.write(Base64.strict_decode64(response))
end
else
return Base64.strict_decode64(response)
end
endhttps://stackoverflow.com/questions/32315371
复制相似问题