Java client
From OpenKM Documentation
|
First, we need to generate the client stuff using this command. Keep on mind that you need JDK 1.6 to run it:
$ wsimport -d client -s client http://localhost:8080/OpenKM/OKMAuth?wsdl
You can use the following script to generate a complete OpenKM webservices client library:
#/bin/bash wsimport -p com.openkm.ws.client http://localhost:8080/OpenKM/OKMAuth?wsdl wsimport -p com.openkm.ws.client http://localhost:8080/OpenKM/OKMDocument?wsdl wsimport -p com.openkm.ws.client http://localhost:8080/OpenKM/OKMFolder?wsdl wsimport -p com.openkm.ws.client http://localhost:8080/OpenKM/OKMSearch?wsdl wsimport -p com.openkm.ws.client http://localhost:8080/OpenKM/OKMNotification?wsdl wsimport -p com.openkm.ws.client http://localhost:8080/OpenKM/OKMRepository?wsdl wsimport -p com.openkm.ws.client http://localhost:8080/OpenKM/OKMPropertyGroup?wsdl wsimport -p com.openkm.ws.client http://localhost:8080/OpenKM/OKMWorkflow?wsdl jar cvf okm-ws-client-2.1.jar com rm -rf com
Authentication
package com.openkm.ws.test; import com.openkm.ws.client.OKMAuth; import com.openkm.ws.client.OKMAuthService; public class Authentication { public static void main(String[] args) { try { OKMAuthService okmAuthService = new OKMAuthService(); OKMAuth okmAuth = okmAuthService.getOKMAuthPort(); // Login String token = okmAuth.login("okmAdmin", "admin"); System.out.println("Es: " + token); // Logout okmAuth.logout(token); } catch (Exception e) { e.printStackTrace(); } } }
List folders and documents
package com.openkm.ws.test; import java.util.List; import com.openkm.ws.client.Document; import com.openkm.ws.client.DocumentArray; import com.openkm.ws.client.Folder; import com.openkm.ws.client.FolderArray; import com.openkm.ws.client.OKMAuth; import com.openkm.ws.client.OKMAuthService; import com.openkm.ws.client.OKMDocument; import com.openkm.ws.client.OKMDocumentService; import com.openkm.ws.client.OKMFolder; import com.openkm.ws.client.OKMFolderService; public class ListNodes { public static void main(String[] args) { String path = "/okm:root"; try { OKMAuthService okmAuthService = new OKMAuthService(); OKMAuth okmAuth = okmAuthService.getOKMAuthPort(); OKMDocumentService okmDocumentService = new OKMDocumentService(); OKMDocument okmDocument = okmDocumentService.getOKMDocumentPort(); OKMFolderService okmFolderService = new OKMFolderService(); OKMFolder okmFolder = okmFolderService.getOKMFolderPort(); // Login String token = okmAuth.login("okmAdmin", "admin"); System.out.println("Es: " + token); // List folders FolderArray fldArray = okmFolder.getChilds(token, path); List<Folder> folders = fldArray.getValue(); for (Folder folder : folders) { System.out.println("[FOLDER] Path: " + folder.getPath() + ", Author: " + folder.getAuthor()); } // List documents DocumentArray docArray = okmDocument.getChilds(token, path); List<Document> documents = docArray.getValue(); for (Document document : documents) { System.out.println("[DOCUMENT] Path: " + document.getPath() + ", Author: " + document.getAuthor() + ", Size: " + document.getActualVersion().getSize()); } // Logout okmAuth.logout(token); } catch (Exception e) { e.printStackTrace(); } } }
Create document
package com.openkm.ws.test; import java.io.FileInputStream; import com.openkm.ws.client.Document; import com.openkm.ws.client.OKMAuth; import com.openkm.ws.client.OKMAuthService; import com.openkm.ws.client.OKMDocument; import com.openkm.ws.client.OKMDocumentService; public class CreateDocument { public static void main(String[] args) { String file = "/etc/hosts"; try { OKMAuthService okmAuthService = new OKMAuthService(); OKMAuth okmAuth = okmAuthService.getOKMAuthPort(); OKMDocumentService okmDocumentService = new OKMDocumentService(); OKMDocument okmDocument = okmDocumentService.getOKMDocumentPort(); // Login String token = okmAuth.login("okmAdmin", "admin"); System.out.println("Es: " + token); Document doc = new Document(); doc.setPath("/okm:root/hosts.txt"); FileInputStream fis = new FileInputStream(file); byte[] content = new byte[fis.available()]; int size = fis.read(content); System.out.println("File size: " + size); fis.close(); Document newDoc = okmDocument.create(token, doc, content); System.out.println("[DOCUMENT] Path: " + newDoc.getPath() + ", Author: " + newDoc.getAuthor() + ", Size: " + newDoc.getActualVersion().getSize()); // Logout okmAuth.logout(token); } catch (Exception e) { e.printStackTrace(); } } }
Perform search
package com.openkm.ws.test; import java.util.List; import com.openkm.ws.client.OKMAuth; import com.openkm.ws.client.OKMAuthService; import com.openkm.ws.client.OKMSearch; import com.openkm.ws.client.OKMSearchService; import com.openkm.ws.client.QueryResult; import com.openkm.ws.client.QueryResultArray; public class Search { public static void main(String[] args) { try { OKMAuthService okmAuthService = new OKMAuthService(); OKMAuth okmAuth = okmAuthService.getOKMAuthPort(); OKMSearchService okmSearchService = new OKMSearchService(); OKMSearch okmSearch = okmSearchService.getOKMSearchPort(); // Login String token = okmAuth.login("okmAdmin", "admin"); System.out.println("Es: " + token); QueryResultArray queryResultArray = okmSearch.findByContent(token, "grial"); List<QueryResult> results = queryResultArray.getValue(); for (QueryResult queryResult : results) { System.out.println("-> " + queryResult.getDocument().getPath() + " (" + queryResult.getScore() + ")"); } // Logout okmAuth.logout(token); } catch (Exception e) { e.printStackTrace(); } } }






