Java client - OpenKM 5.1

From OpenKM Documentation
Revision as of 11:34, 12 March 2010 by Pavila (talk | contribs) (Authentication)

Jump to: navigation, search

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

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();
        }
    }
}