Utilize o método get(DataObject)e o AncestorControl para mostrar os ascendentes de uma entidade.
Nesse exemplo, o pedido é mostrar todos os níveis de ascendentes para SalesPerson1.
DataObject root = SDOHelper.createRootDataObject();
DataObject entity = SDOHelper.createEntityDataObject(root, null, DO_PERSON_ACCOUNT);
entity.createDataObject(DO_IDENTIFIER).setString(PROP_UNIQUE_NAME,
"uid=SalesPerson1,ou=CA,o=Sales,cn=users,dc=yourco,dc=com");
DataObject ancesCtrl = SDOHelper.createControlDataObject(root, null, DO_ANCESTOR_CONTROL);
// 0 significa todos os ascendentes
ancesCtrl.setInt(PROP_LEVEL, 0);
ancesCtrl.getList(PROP_PROPERTIES).add("uid");
ancesCtrl.getList(PROP_PROPERTIES).add("cn");
ancesCtrl.getList(PROP_PROPERTIES).add("o");
ancesCtrl.getList(PROP_PROPERTIES).add("ou");
root = service.get(root);
<?xml version="1.0" encoding="UTF-8"?>
<sdo:datagraph xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sdo="commonj.sdo"
xmlns:wim="http://www.ibm.com/websphere/wim">
<wim:Root>
<wim:entities xsi:type="wim:PersonAccount">
<wim:identifier uniqueName="uid=SalesPerson1,ou=CA,o=Sales,cn=users,dc=yourco,dc=com"/>
</wim:entities>
<wim:controls xsi:type="wim:AncestorControl" level="0">
<wim:properties>uid</wim:properties>
<wim:properties>cn</wim:properties>
<wim:properties>o</wim:properties>
<wim:properties>ou</wim:properties>
</wim:controls>
</wim:Root>
</sdo:datagraph>
<?xml version="1.0" encoding="UTF-8"?>
<sdo:datagraph xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sdo="commonj.sdo"
xmlns:wim="http://www.ibm.com/websphere/wim">
<wim:Root>
<wim:entities xsi:type="wim:PersonAccount">
<wim:identifier externalName="uid=SalesPerson1,ou=CA,o=Sales,cn=users,dc=yourco,dc=com"
repositoryId="LDAP1"
uniqueId="e7db8c0e-d2b3-43fe-be14-1475125606f4"
uniqueName="uid=SalesPerson1,ou=CA,o=Sales,cn=users,dc=yourco,dc=com"/>
<wim:parent xsi:type="wim:OrgContainer">
<wim:identifier externalId="0dfcccf7-9fb9-4b25-a0f4-ff4b6b33068e"
externalName="ou=CA,o=Sales,cn=users,dc=yourco,dc=com"
repositoryId="LDAP1"
uniqueName="ou=CA,o=Sales,cn=users,dc=yourco,dc=com"/>
<wim:parent xsi:type="wim:OrgContainer">
<wim:identifier externalId="eab85abb-9d29-40f1-b502-36c051d3ee96"
externalName="o=Sales,cn=users,dc=yourco,dc=com"
repositoryId="LDAP1"
uniqueName="o=Sales,cn=users,dc=yourco,dc=com"/>
<wim:parent xsi:type="wim:OrgContainer">
<wim:identifier externalId="93fde597-b628-4952-90cc-d6b178a05235"
externalName="cn=users,dc=yourco,dc=com"
repositoryId="LDAP1"
uniqueName="cn=users,dc=yourco,dc=com"/>
<wim:cn>users</wim:cn>
</wim:parent>
<wim:o>Sales</wim:o>
</wim:parent>
<wim:ou>CA</wim:ou>
</wim:parent>
</wim:entities>
</wim:Root>
</sdo:datagraph>
CA, Sales, usuários e dc=yourco.dc=com
são retornados como os ascendentes de SalesPerson1.Consulte também o tópico Código de amostra para criar uma entidade em uma hierarquia e obter descendentes e ancestrais.