Open-Xchange-SOAP-WSDL2JAVA: Difference between revisions
From Open-Xchange
No edit summary |
|||
Line 1: | Line 1: | ||
= How to provision Open-Xchange with Java and SOAP = | = How to provision Open-Xchange with Java and SOAP = | ||
'''NOTE:''' please use <tt>/webservices</tt> instead of <tt>/servlet/axis2/services</tt> since the latter is deprecated and might be removed at any time. | |||
== Generating code with wsdl2java from Axis2 == | == Generating code with wsdl2java from Axis2 == |
Revision as of 14:32, 16 April 2015
How to provision Open-Xchange with Java and SOAP
NOTE: please use /webservices instead of /servlet/axis2/services since the latter is deprecated and might be removed at any time.
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()); } } }