Plugin samples
Basics
Suggested code sample
First, you must create the webservice object:
OKMWebservices ws = OKMWebservicesFactory.newInstance(host);
Then should login using the method "login". You can access the "login" method from webservice object "ws" as is shown below:
ws.login(user, password);
Once you are logged with the webservices the session is keep in the webservice Object. Then you can use the other API method
At this point you can use all the Plugin methods from "plugin" class as is shown below:
ws.plugin.executePluginPostReturnFile("com.openkm.plugin.rest.TestGetDocumentRestPlugin", parameters, null);
Methods
executePluginPost
Description:
Method | Return values | Description |
---|---|---|
executePluginPost(String className, Dictionary<String, String> parameters, Type clazz, FileStream fs) |
Object |
Return the Object value of execution of a class which implements RestPlugin. |
This method execute a REST call at POST. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8180/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
FileStream fs = new FileStream(@"D:\Testing\pluging.docx", FileMode.Open, FileAccess.Read);
Dictionary<String, String> parameters = new Dictionary<String, String>();
parameters.Add("param1", "value1");
parameters.Add("param2", "value2");
String res = (String) ws.plugin.executePluginPost("com.openkm.plugin.rest.TestRestPlugin", parameters, typeof(string), fs);
fs.Close();
System.Console.WriteLine(res);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
executePluginPostReturnFile
Description:
Method | Return values | Description |
---|---|---|
executePluginPostReturnFile(String className, Dictionary<String, String> parameters, FileStream fs) |
Stream |
Return an InputStream of execution of a class which implements RestPlugin. |
This method execute a REST call at POST. The RestPlugin must return a Response object. Take a look at the next sample implementation of the RestPlugin:
|
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8180/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
FileStream fs = new FileStream(@"D:\Testing\pluging.docx", FileMode.Open, FileAccess.Read);
Dictionary<String, String> parameters = new Dictionary<String, String>();
parameters.Add("docId", "/okm:root/test.pdf");
Stream tmpFIle = ws.plugin.executePluginPostReturnFile("com.openkm.plugin.rest.TestGetDocumentRestPlugin", parameters, null);
FileStream destFile = new FileStream(@"D:\Testing\pluging.pdf", FileMode.OpenOrCreate);
tmpFIle.CopyTo(destFile);
destFile.Close();
tmpFIle.Close();
fs.Close();
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
executePluginGet
Description:
Method | Return values | Description |
---|---|---|
executePluginGet(String className, Dictionary<String, String> parameters, Type clazz) |
Object |
Return an InputStream of execution of a class which implements RestPlugin. |
This method execute a REST call at GET. You can also execute directly from the browser, take the next url as a sample:
|
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8180/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
Dictionary<String, String> parameters = new Dictionary<String, String>();
parameters.Add("docId", "/okm:root/invoices/00000001_001_of_001.pdf");
String res = (String) ws.plugin.executePluginGet("com.openkm.plugin.rest.TestRestPlugin", parameters, typeof(string));
System.Console.WriteLine(res);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
executePluginGetReturnFile
Description:
Method | Return values | Description |
---|---|---|
executePluginGetReturnFile(String className, Dictionary<String, String> parameters) |
InputStream |
Return the Object value of execution of a class which implements RestPlugin. |
This method execute a REST call at GET. The RestPlugin must return a Response object. Take a look at the next sample implementation of the RestPlugin:
You can also execute directly from the browser, take the next url as a sample:
|
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8180/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
Dictionary<String, String> parameters = new Dictionary<String, String>();
parameters.Add("docId", "/okm:root/test.pdf");
Stream tmpFIle = ws.plugin.executePluginGetReturnFile("com.openkm.plugin.rest.TestGetDocumentRestPlugin", parameters);
FileStream destFile = new FileStream(@"D:\Testing\pluging.pdf", FileMode.OpenOrCreate);
tmpFIle.CopyTo(destFile);
destFile.Close();
tmpFIle.Close();
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}