1

Hi to all the community.

This question is related to a specific product called OpenText Content Server 10.5 (previously named LiveLink) and the usage of his Content Server Web Service (CWS).

We use a very simple call to retrieve a document using his DocumentID "GetNode" passing the internal Document Id:

This method works every time except when we retrieve some files like Microsoft Excel with xls or xlsx extensions.

Even a text file with "Hallo Word" in it, renamed to xls does not works!

My idea is that this could be: a) a faulty web service and a patch is needed b) we missed something in the LiveLink configuration to enable certain files.

Any help is moire than welcome

Thanks in avant for any support

---------- Part 2 -----------------

To be more specific consider that we have a document with ID= 229835 (also the Nickname has the same value)

1) With the GetNode(229835) we receive the following error: DocumentManagement.GetNode() failed on the Livelink Server. No results were returned. Check the Livelink Server thread logs. (nothing on the server logs!)

2) With the GetNodeByNickName("229835") everything works fine.

3) With te GetGUID(229835) we first retrieve a GUID like "3F67..8942" and then with GetNodeByGUID(""3F67..8942") everything works fine.

So my questions is why the first command fail and the other two works?

Consider that this a "seems" to happen with certain types of XLS, XLSX, ZIP, DOC, DOCX files. The size is no more than 2 Mb.

  • I don't think that has anything to do with the web services. That sounds like a defect in the installation. Which patch level do you run? Does it run on Windows (C# web services) or *IX (Java web services)? – Steffen Roller Sep 01 '15 at 12:48
  • I'm checking now the patch level. The system runs on windows – Vincenzo Cocciolo Sep 01 '15 at 15:12

1 Answers1

0

The GetNode call returns only the meta data for the node. You want to use GetVersionContents.

As a minimum you need to specify the ID and the versionNum for the required content. The following code is an example written in Ruby, but it should be easy to translate the logic into a different language.

  #
  # 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
  end
Steffen Roller
  • 3,464
  • 25
  • 43