Open-Xchange-SOAP-WSDL2JAVA
From Open-Xchange
How to provision Open-Xchange with Java and SOAP
Generating code with wsdl2java from Axis2
See the sample script below on how to generate stubs for the Open-Xchange provisioning APIs.
#!/bin/bash DEST=/home/someuser/workspace/axistest AXISPATH=/home/someuser/axis2-1.5.6 OXURL=http://localhost/servlet/axis2/services JAVA_HOME=/usr/lib/jvm/java-6-sun for class in Context User Group Resource; do lname=$(echo $class | tr '[:upper:]' '[:lower:]') if [ -d $DEST/$lname ]; then rm -rf $DEST/$lname fi $AXISPATH/bin/wsdl2java.sh -p ox${lname} -u -uw -sp -uri $OXURL/OX${class}Service?wsdl -o $DEST/$lname -ns2p http://soap.admin.openexchange.com=admin.soap.${lname},http://dataobjects.soap.admin.openexchange.com/xsd=admin.soap.${lname}.dataobjects,http://dataobjects.rmi.admin.openexchange.com/xsd=admin.rmi.${lname}.dataobjects,http://exceptions.rmi.admin.openexchange.com/xsd=admin.rmi.${lname}.exceptions,http://rmi.java/xsd=admin.rmi.${lname},http://io.java/xsd=admin.javaio.${lname} done
The script generates stubs for each of the Context, User, Group and Resource API within a separate directory.
Example Code
The code below lists all users within Context with ID 1:
import java.rmi.RemoteException; import oxuser.DatabaseUpdateExceptionException; import oxuser.DuplicateExtensionExceptionException; import oxuser.InvalidCredentialsExceptionException; import oxuser.InvalidDataExceptionException; import oxuser.NoSuchContextExceptionException; import oxuser.NoSuchUserExceptionException; import oxuser.OXUserServiceStub; import oxuser.RemoteExceptionException; import oxuser.StorageExceptionException; import admin.rmi.user.dataobjects.Credentials; import admin.soap.user.dataobjects.Context; import admin.soap.user.dataobjects.User; public class UserSOAPTest { public static void main(String[] args) throws RemoteException, InvalidDataExceptionException, StorageExceptionException, InvalidCredentialsExceptionException, DatabaseUpdateExceptionException, NoSuchContextExceptionException, RemoteExceptionException, NoSuchUserExceptionException, DuplicateExtensionExceptionException { OXUserServiceStub oxus = new OXUserServiceStub("http://10.20.30.176/servlet/axis2/services/OXUserService.OXUserServiceHttpSoap12Endpoint/"); Context c = new Context(); c.setId(1); Credentials cred = new Credentials(); cred.setLogin("oxadmin"); cred.setPassword("secret"); User allusers[] = oxus.listAll(c, cred); allusers = oxus.getMultipleData(c, allusers, cred); for(final User u : allusers) { System.out.println("Login: " + u.getName() + ", Displayname: " + u.getDisplay_name()); } } }