Web service integration using Ruby

From KnowledgeTree Document Management Made Simple

Jump to: navigation, search

requirements

This example uses the Ruby SOAP4R gem.

To install:

gem install soap4r

If you have difficulty, please refer the the ruby documentation and forums for assistance. You may need to set your GEMHOME environment and/or ensure your are installing it as the system administrator.

Note that you could also consume the web service via the rails actionwebservice client module.

create a sample file

Create the file list.rb acting as the client:

require 'soap/wsdlDriver'
wsdl = 'http://ktdms.trunk/ktwebservice/webservice.php?wsdl'
driver = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver

response = driver.login('admin','admin','127.0.0.1')

raise "Cannot authenticate with KnowledgeTree: #{response.message}" unless response.status_code == 0

session = response.message

content = driver.get_folder_contents(session, 1, 1,  'DF' )

raise "Cannot obtain folder contents on root folder: #{response.message}" unless response.status_code == 0

content.items.each do | item |

       print "--------------\n"
       print "Title: #{item.title}\n"
       print "Filename: #{item.filename}\n"
       print "Document Type: #{item.document_type}\n"
       print "Created By: #{item.created_by}\n\n"

end

response = driver.logout(session)

raise "Problem logging out: #{response.message}" unless response.status_code == 0

execute the script

To run the script:

ruby list.rb
Personal tools