Difference between revisions of "Python client - OpenKM 5.1"

From OpenKM Documentation
Jump to: navigation, search
(Authentication)
(Authentication)
Line 36: Line 36:
 
print 'Token: '+token
 
print 'Token: '+token
  
 +
# Logout
 +
sAuth.logout(arg0=token)
 +
</source>
 +
 +
== Create document ==
 +
<source lang="python">
 +
from SOAPpy import WSDL
 +
 +
# Register WSDL
 +
sAuth = WSDL.Proxy('http://localhost:8080/OpenKM/OKMAuth?wsdl')
 +
sDocument = WSDL.Proxy('http://localhost:8080/OpenKM/OKMDocument?wsdl')
 +
 +
# Login
 +
token = sAuth.login(arg0='okmAdmin', arg1='admin')
 +
print 'Token: '+token
 +
 +
# Create document
 +
newDoc = sDocument.create(arg0=token, arg1={'path':'/okm:root/hosts_1.txt', 'mimeType': None,
 +
    'actualVersion': None, 'author': None, 'checkedOut': False,
 +
    'created': None, 'language': None,
 +
    'lastModified': None, 'lockInfo': None, 'locked': False,
 +
    'permissions': 0, 'size': 0, 'subscribed': False, 'uuid': None,
 +
    'convertibleToPdf': False, 'convertibleToSwf': False,
 +
    'compactable': False, 'training': False}, arg2='esto es una prueba')
 +
print newDoc
 +
 
# Logout
 
# Logout
 
sAuth.logout(arg0=token)
 
sAuth.logout(arg0=token)

Revision as of 19:00, 9 March 2010

These sample code is using the SOAPpy library. If you are in a Debian based distro you can install it this way:

$ sudo aptitude install python-soappy

More info about Python and webservices at http://wiki.python.org/moin/WebServices.

Remote method info

from SOAPpy import WSDL

# Register WSDL
sAuth = WSDL.Proxy('http://localhost:8080/OpenKM/OKMAuth?wsdl')

print sAuth.methods.keys()
print sAuth.soapproxy

callInfo = sAuth.methods['login']

print callInfo.inparams[0].name
print callInfo.inparams[0].type

print callInfo.inparams[1].name
print callInfo.inparams[1].type

Authentication

from SOAPpy import WSDL

# Register WSDL
sAuth = WSDL.Proxy('http://localhost:8080/OpenKM/OKMAuth?wsdl')

# Login
token = sAuth.login(arg0='okmAdmin', arg1='admin')
print 'Token: '+token

# Logout
sAuth.logout(arg0=token)

Create document

from SOAPpy import WSDL
 
# Register WSDL
sAuth = WSDL.Proxy('http://localhost:8080/OpenKM/OKMAuth?wsdl')
sDocument = WSDL.Proxy('http://localhost:8080/OpenKM/OKMDocument?wsdl')
 
# Login
token = sAuth.login(arg0='okmAdmin', arg1='admin')
print 'Token: '+token
 
# Create document
newDoc = sDocument.create(arg0=token, arg1={'path':'/okm:root/hosts_1.txt', 'mimeType': None,
    'actualVersion': None, 'author': None, 'checkedOut': False,
    'created': None, 'language': None,
    'lastModified': None, 'lockInfo': None, 'locked': False,
    'permissions': 0, 'size': 0, 'subscribed': False, 'uuid': None,
    'convertibleToPdf': False, 'convertibleToSwf': False,
    'compactable': False, 'training': False}, arg2='esto es una prueba')
print newDoc 
 
# Logout
sAuth.logout(arg0=token)

Perform search

from SOAPpy import WSDL

# Register WSDL
sAuth = WSDL.Proxy('http://localhost:8080/OpenKM/OKMAuth?wsdl')
sSearch = WSDL.Proxy('http://localhost:8080/OpenKM/OKMSearch?wsdl')

# Login
token = sAuth.login(arg0='okmAdmin', arg1='admin')
print 'Token: '+token

# Search
queryResultArray = sSearch.findByContent(arg0=token, arg1='grial')

for queryResult in queryResultArray['value']:
  print queryResult['document']['path']

# Logout
sAuth.logout(arg0=token)