- Create a new folder under your source project
- Open a terminal window and go to the JDK\bin folder
- Type the following ws-import command:wsimport -extension -keep -Xnocompile -d {location of the source folder} {Webservice URL}
- Create the authenticator class:import java.net.Authenticator;
import java.net.PasswordAuthentication;
public class BasicHttpAuthenticator extends Authenticator {
private String user;
private String password;
public BasicHttpAuthenticator(String user, String password) {
this.user = user;
this.password = password;
}
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, password.toCharArray());
}
}
- Create the web service client class:import java.net.Authenticator;
import java.net.URL;
import javax.xml.namespace.QName;
import com.sdltridion.contentmanager.coreservice._2011.CoreService2011;
import com.sdltridion.contentmanager.coreservice._2011.ICoreService;
import com.sdltridion.contentmanager.r6.UserData;
public class Main {
private static final QName Q_NAME = new QName("http://www.sdltridion.com/ContentManager/CoreService/2011", "CoreService2011");
public static void main(String[] args) throws Exception {
BasicHttpAuthenticator basicHttpAuthenticator = new BasicHttpAuthenticator({user}, {password});
Authenticator.setDefault(basicHttpAuthenticator);
URL url = new URL({Webservice URL});
CoreService2011 service = new CoreService2011(url, Q_NAME);
ICoreService client = service.getBasicHttp();
UserData currentUser = client.getCurrentUser();
System.out.println(String.format("'%s' %s",
currentUser.getTitle().getValue(), currentUser.getId()));
}
{password} is the account password
{Webservice URL} is the core service URL
Example:
Java version used for this project is Java 1.8.0_66-b17
{user}: administrator
{password}: h}S<77Sn
{Webservice URL}: http://www.blogger.com/webservices/CoreService2011.svc?singleWsdl
{location of the source folder}
Windows: C:\source\CoreService2011\src
Linux: /source/CoreService2011/src
JDK\bin folder: the default locations are
Windows 64-bits: C:\Program Files\Java\jdk1.8.0_66\bin
Linux: /usr/lib/jvm/java-8-oracle/bin
Structure of the project:
src
+--- BasicHttpAuthenticator.java
+--- Main.java
wsimport -extension -keep -Xnocompile -d /source/CoreService2011/src http://www.blogger.com/webservices/CoreService2011.svc?singleWsdl
import java.net.Authenticator;
import java.net.PasswordAuthentication;
public class BasicHttpAuthenticator extends Authenticator {
private String user;
private String password;
public BasicHttpAuthenticator(String user, String password) {
this.user = user;
this.password = password;
}
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, password.toCharArray());
}
}
import java.net.PasswordAuthentication;
public class BasicHttpAuthenticator extends Authenticator {
private String user;
private String password;
public BasicHttpAuthenticator(String user, String password) {
this.user = user;
this.password = password;
}
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, password.toCharArray());
}
}
import java.net.Authenticator;
import java.net.URL;
import javax.xml.namespace.QName;
import com.sdltridion.contentmanager.coreservice._2011.CoreService2011;
import com.sdltridion.contentmanager.coreservice._2011.ICoreService;
import com.sdltridion.contentmanager.r6.UserData;
public class Main {
private static final QName Q_NAME = new QName("http://www.sdltridion.com/ContentManager/CoreService/2011", "CoreService2011");
public static void main(String[] args) throws Exception {
BasicHttpAuthenticator basicHttpAuthenticator = new BasicHttpAuthenticator("administrator", "h}S<77Sn");
Authenticator.setDefault(basicHttpAuthenticator);
URL url = new URL("http://www.blogger.com/webservices/CoreService2011.svc?singleWsdl");
CoreService2011 service = new CoreService2011(url, Q_NAME);
ICoreService client = service.getBasicHttp();
UserData currentUser = client.getCurrentUser();
System.out.println(String.format("'%s' %s", currentUser.getTitle().getValue(), currentUser.getId()));
}
}
import java.net.URL;
import javax.xml.namespace.QName;
import com.sdltridion.contentmanager.coreservice._2011.CoreService2011;
import com.sdltridion.contentmanager.coreservice._2011.ICoreService;
import com.sdltridion.contentmanager.r6.UserData;
public class Main {
private static final QName Q_NAME = new QName("http://www.sdltridion.com/ContentManager/CoreService/2011", "CoreService2011");
public static void main(String[] args) throws Exception {
BasicHttpAuthenticator basicHttpAuthenticator = new BasicHttpAuthenticator("administrator", "h}S<77Sn");
Authenticator.setDefault(basicHttpAuthenticator);
URL url = new URL("http://www.blogger.com/webservices/CoreService2011.svc?singleWsdl");
CoreService2011 service = new CoreService2011(url, Q_NAME);
ICoreService client = service.getBasicHttp();
UserData currentUser = client.getCurrentUser();
System.out.println(String.format("'%s' %s", currentUser.getTitle().getValue(), currentUser.getId()));
}
}
Source: http://yatb.mitza.net/2012/12/a-core-service-java-client.html
No comments:
Post a Comment