|
|
| Step 1: Setup your development environment | |
|
We will be using
| |
| | |
| Step 2: Authentication: ( http://planplusonline02.com/cxf/SessionAuthenticatorAPI?wsdl ) | |
| 2A> Generating Java Classes from WSDL | |
|
C:> WSDL2Java http://www.planplusonline02.com/cxf/SessionAuthenticatorAPI?wsdl This should generate several web service classes in your file system. | |
Using WSDL2Java to generate Stub Classes
| |
Result Folder
| |
| 2B> Using these classes to authenticate:
Code Sample 1: SimpleTest1 (com.cxrm.common.tutorial)
| |
package com.cxrm.common.tutorial;
import java.io.*;
import java.util.*;
import com.cxrm.login.SessionAuthenticatorAPIServiceSoapBindingStub;
public class SimpleTest1 {
public static void doTest() throws Exception
{
java.net.URL _endpoint = new java.net.URL( "http://www.planplusonline02.com/cxf/SessionAuthenticatorAPI" );
SessionAuthenticatorAPIServiceSoapBindingStub _stub =
new SessionAuthenticatorAPIServiceSoapBindingStub(_endpoint, new org.apache.axis.client.Service() );
System.out.println( "[" + _stub.simpleAuthenticate( "******", "*************************" ) + "]" );
}
public static void main ( String[] params )
{
try { doTest(); } catch (Exception e) { e.printStackTrace(); }
}
}
| |
| Compile, Run, and Result If success, the result should start with "[SESSIONID:" . Otherwise it should display the error message.
| |
| 2C> Authenticate with CompanyName/UserName/Password | |
Alternatively, we can use loginAuthenticate(company_name,user_name,password) to authenticate.
package com.cxrm.common.tutorial;
import java.io.*;
import java.util.*;
import com.cxrm.login.SessionAuthenticatorAPIServiceSoapBindingStub;
public class SimpleTest1 {
public static void doTest() throws Exception
{
java.net.URL _endpoint = new java.net.URL( "http://www.planplusonline02.com/cxf/SessionAuthenticatorAPI" );
SessionAuthenticatorAPIServiceSoapBindingStub _stub =
new SessionAuthenticatorAPIServiceSoapBindingStub(_endpoint, new org.apache.axis.client.Service() );
System.out.println( "[" + _stub.loginAuthenticate( "*****", "*****", "*****" ) + "]" );
}
public static void main ( String[] params )
{
try { doTest(); } catch (Exception e) { e.printStackTrace(); }
}
}
| |
| | |
| Step 3: Post Authentication: Query Organization Records. ( http://planplusonline02.com/cxf/OrgAPI?wsdl ) | |
| 3A> Generating Java Classes from WSDL | |
|
C:> WSDL2Java http://www.planplusonline02.com/cxf/OrgAPI?wsdl This should generate several web service classes in your file system. | |
Using WSDL2Java to generate Stub Classes
| |
Result Folder
| |
| 3B> Using these classes to query Organization Records:
Code Sample 2: SimpleTest2 (com.cxrm.common.tutorial)
| |
package com.cxrm.common.tutorial;
import java.io.*;
import java.util.*;
import com.cxrm.login.SessionAuthenticatorAPIServiceSoapBindingStub;
import com.cxrm.sales.api.OrgAPIServiceSoapBindingStub;
import com.cxrm.sales.api.OrganizationList;
import com.cxrm.sales.api.Organization;
public class SimpleTest2 {
public static void doTest() throws Exception
{
java.net.URL _endpoint = new java.net.URL( "http://www.planplusonline02.com/cxf/SessionAuthenticatorAPI" );
SessionAuthenticatorAPIServiceSoapBindingStub _stub =
new SessionAuthenticatorAPIServiceSoapBindingStub(_endpoint, new org.apache.axis.client.Service() );
String authResult = _stub.simpleAuthenticate( "******", "*******************" );
System.out.println( "[" + authResult + "]" );
if ( authResult.startsWith("SESSIONID:") )
{
String sessId = authResult.substring( 10 );
OrgAPIServiceSoapBindingStub orgApiStub = new OrgAPIServiceSoapBindingStub(
new java.net.URL( "http://www.planplusonline02.com/cxf/OrgAPI" ), new org.apache.axis.client.Service() );
OrganizationList ol = orgApiStub.searchOrganizations( sessId, "xrm" );
Organization[] org = ol.getList();
System.out.println( " getAllOrganizations() return row # = " + org.length );
}
}
public static void main ( String[] params )
{
try { doTest(); } catch (Exception e) { e.printStackTrace(); }
}
}
| |
| Compile, Run, and Result In this example, there are 14 records returned for search result "xrm"
| |
| | |
| Step 4: More Sample Codes ( Using Contact API http://planplusonline02.com/cxf/PsnAPI?wsdl ) | |
| 4A> Contact API WSDL | |
|
C:> WSDL2Java http://www.planplusonline02.com/cxf/PsnAPI?wsdl This should generate several web service classes in your file system. | |
Using WSDL2Java to generate Stub Classes
| |
Result Folder
| |
| 4B> Contact Sample code to query, read, and save a contact record
Code Sample 3: SimpleTest3 (com.cxrm.common.tutorial)
| |
package com.cxrm.common.tutorial;
import java.io.*;
import java.util.*;
import com.cxrm.login.SessionAuthenticatorAPIServiceSoapBindingStub;
import com.cxrm.sales.api.PsnAPIServiceSoapBindingStub;
import com.cxrm.sales.api.ContactList;
import com.cxrm.sales.api.Contact;
public class SimpleTest3 {
public static void doTest() throws Exception
{
java.net.URL _endpoint = new java.net.URL( "http://www.planplusonline02.com/cxf/SessionAuthenticatorAPI" );
SessionAuthenticatorAPIServiceSoapBindingStub _stub =
new SessionAuthenticatorAPIServiceSoapBindingStub(_endpoint, new org.apache.axis.client.Service() );
String authResult = _stub.loginAuthenticate( "**", "**", "**" );
System.out.println( "[" + authResult + "]" );
if ( authResult.startsWith("SESSIONID:") )
{
String sessId = authResult.substring( 10 );
PsnAPIServiceSoapBindingStub psnApiStub = new PsnAPIServiceSoapBindingStub(
new java.net.URL( "http://www.planplusonline02.com/cxf/PsnAPI" ), new org.apache.axis.client.Service() );
ContactList cl = psnApiStub.searchContactsByFirstAndLast( sessId, "John", "Doe" );
Contact[] psn = cl.getList();
if ( psn.length > 0 )
{
Contact c = psnApiStub.getContactDetail( sessId, psn[0].getCustomerId() );
System.out.println( c.getFirstName() + " " + c.getLastName() );
}
System.out.println( " Now attempting to create a new contact" );
Contact newContact = new Contact();
newContact.setFirstName( "WebService" );
newContact.setLastName( "Test" );
Contact result = psnApiStub.saveContactRecord( sessId, newContact );
System.out.println( "\n\n --- saveContactRecord() --- " );
if ( result != null && result.getCustomerId() > 0 )
{
System.out.println( " Record saved successfully. New record ID ="+ result.getCustomerId() );
}
else
{
System.out.println( " Transaction Failed. " );
if ( result != null )
System.out.println( " Msg = "+ result.getErrorMsg() );
}
}
}
public static void main ( String[] params )
{
try { doTest(); } catch (Exception e) { e.printStackTrace(); }
}
}
|