The examples in this section illustrate the ListsTargetsRequest capabilities that are available using Waveset.
The following example shows how a .jsp file invokes a ListTargetsRequest through Waveset’s SessionAwareSpml2Client class.
<%@page contentType="text/html"%>
<%@page import="org.openspml.v2.client.*,
com.sun.idm.rpc.spml2.SessionAwareSpml2Client"%>
<%@page import="org.openspml.v2.profiles.dsml.*"%>
<%@page import="org.openspml.v2.profiles.*"%>
<%@page import="org.openspml.v2.util.xml.*"%>
<%@page import="org.openspml.v2.msg.*"%>
<%@page import="org.openspml.v2.msg.spml.*"%>
<%@page import="org.openspml.v2.util.*"%>
<%
final String url = "http://host:port/idm/servlet/openspml2";
%>
<html>
<head><title>SPML2 Test</title></head>
<body>
<%
// need a client.
SessionAwareSpml2Client client = new SessionAwareSpml2Client( url );
// login (sends a ListTargetsRequest)
Response res = client.login("configurator", "password");
%>
<%= res.toString()%>
// logout
client.logout();
</body>
</html>
This next example shows the body of the SPML request that is sent for login.
<listTargetsRequest xmlns='urn:oasis:names:tc:SPML:2:0' requestID='rid[7013]'
executionMode='synchronous'>
<openspml:operationalNameValuePair xmlns:openspml='urn:org:openspml:v2:util:xml'
name='accountId' value='configurator'/>
<openspml:operationalNameValuePair xmlns:openspml='urn:org:openspml:v2:util:xml'
name='password' value='password'/>
</listTargetsRequest>
This example shows the body of the SPML response that is received by or returned to the client.
<openspml:operationalNameValuePair
xmlns:openspml="urn:org:openspml:v2:util:xml" name="session" value="AAAM+wAAaC..."/>
<target targetID="spml2-DSML-Target" profile="urn:oasis:names:tc:SPML:2:0:DSML">
<schema>
<spmldsml:schema xmlns:spmldsml="urn:oasis:names:tc:SPML:2:0:DSML">
<spmldsml:objectClassDefinition name="spml2Person">
<spmldsml:memberAttributes>
<spmldsml:attributeDefinitionReference required="true"
name="objectclass"/>
<spmldsml:attributeDefinitionReference required="true"
name="accountId"/>
<spmldsml:attributeDefinitionReference required="true"
name="credentials"/>
<spmldsml:attributeDefinitionReference name="firstname"/>
<spmldsml:attributeDefinitionReference name="lastname"/>
<spmldsml:attributeDefinitionReference name="emailAddress"/>
</spmldsml:memberAttributes>
</spmldsml:objectClassDefinition>
<spmldsml:attributeDefinition name="objectclass"/>
<spmldsml:attributeDefinition description="Account Id" name="accountId"/>
<spmldsml:attributeDefinition description="Credentials, e.g. password"
name="credentials"/>
<spmldsml:attributeDefinition description="First Name" name="firstname"/>
<spmldsml:attributeDefinition description="Last Name" name="lastname"/>
<spmldsml:attributeDefinition description="Email Address"
name="emailAddress"/>
</spmldsml:schema>
<supportedSchemaEntity entityName="spml2Person"/>
</schema>
<capabilities>
<capability namespaceURI="urn:oasis:names:tc:SPML:2:0:async"/>
<capability namespaceURI="urn:oasis:names:tc:SPML:2:0:batch"/>
<capability namespaceURI="urn:oasis:names:tc:SPML:2:0:bulk"/>
<capability namespaceURI="urn:oasis:names:tc:SPML:2:0:password"/>
<capability namespaceURI="urn:oasis:names:tc:SPML:2:0:suspend"/>
<capability namespaceURI="urn:oasis:names:tc:SPML:2:0:search"/>
</capabilities>
</target>
</listTargetsResponse>