Groups > Novell > Identiry Manager Engine drivers > Re: Error msg "No DN generated by the object placement policy"




Error msg "No DN generated by the object placement
policy"

Error msg "No DN generated by the object placement policy"
Thu, 15 May 2008 10:26:02 GMT
Hi

I want to create groups objects in the IDVault using Delimited Text and
they are placed according to different Service. I did the same method as
for creating users in the IDVault with the modification on the Object
Class Name which I set as 'Group'. I encountered the error message
"Code (-9064) No DN generated by the object placement policy.". Below
is the placement policy I have set:

Condition: 
if class name equal "Group" AND if attribute 'Service' available

Actions:
set local
variable("dest-base",scope="policy","TREENAME\People&qu
ot;)

set operation destination DN(dn(Local Variable("dest-base") +
"\" +
Attribute("Service") + "\" + "Groups" +
"\" + Escape Destination
DN(Unique
Name("CN",counter-pattern="last",counter-use="fallback&
quot;,on-unavailable="error",scope="subtree",Lowercase(Opera
tion
Attribute("CN"))))))

Basically, the above placement policy is to place the groups to the
respective Service with the CN = [Group ID]. The fields I have for my
delimited text file are Service, CN, FullName, Description. Wonder
anyone knows what is wrong with it?

Thanks
Alan


-- 
yesyys
------------------------------------------------------------------------
yesyys's Profile: http://forums.novell.com/member.php?userid=16554
View this thread: http://forums.novell.com/showthread.php?t=328041
Post Reply
Re: Error msg "No DN generated by the object placement policy"
Thu, 15 May 2008 12:09:36 GMT
yesyys,

Could you re-post with a snippet of the Level 3 Trace showing the XDS Document 
that is produced after the Placement Policy has run


Rgds - M









> Hi
> 
> I want to create groups objects in the IDVault using Delimited Text
> and
> they are placed according to different Service. I did the same method
> as
> for creating users in the IDVault with the modification on the Object
> Class Name which I set as 'Group'. I encountered the error message
> "Code (-9064) No DN generated by the object placement policy.".
Below
> is the placement policy I have set:
> Condition: if class name equal "Group" AND if attribute
'Service'
> available
> 
> Actions:
> set local
variable("dest-base",scope="policy","TREENAME\People&qu
ot;)
> set operation destination DN(dn(Local Variable("dest-base") +
"\" +
> 
> Attribute("Service") + "\" + "Groups" +
"\" + Escape Destination
> 
> DN(Unique
> 
>
Name("CN",counter-pattern="last",counter-use="fallback&
quot;,on-unavailable
> ="error",scope="subtree",Lowercase(Operation
> 
> Attribute("CN"))))))
> 
> Basically, the above placement policy is to place the groups to the
> respective Service with the CN = [Group ID]. The fields I have for my
> delimited text file are Service, CN, FullName, Description. Wonder
> anyone knows what is wrong with it?
> 
> Thanks
> Alan

Post Reply
Re: Error msg "No DN generated by the object placement policy"
Thu, 15 May 2008 13:20:41 GMT
Make sure you include the document that goes into the policy as well.

-Father Ramon


Martyn Durrant wrote:
> yesyys,
> 
> Could you re-post with a snippet of the Level 3 Trace showing the XDS 
> Document that is produced after the Placement Policy has run
> 
> 
> Rgds - M
> 
> 
> 
> 
> 
> 
> 
> 
> 
>> Hi
>>
>> I want to create groups objects in the IDVault using Delimited Text
>> and
>> they are placed according to different Service. I did the same method
>> as
>> for creating users in the IDVault with the modification on the Object
>> Class Name which I set as 'Group'. I encountered the error message
>> "Code (-9064) No DN generated by the object placement
policy.". Below
>> is the placement policy I have set:
>> Condition: if class name equal "Group" AND if attribute
'Service'
>> available
>>
>> Actions:
>> set local
variable("dest-base",scope="policy","TREENAME\People&qu
ot;)
>> set operation destination DN(dn(Local Variable("dest-base") +
"\" +
>>
>> Attribute("Service") + "\" + "Groups" +
"\" + Escape Destination
>>
>> DN(Unique
>>
>>
Name("CN",counter-pattern="last",counter-use="fallback&
quot;,on-unavailable
>> ="error",scope="subtree",Lowercase(Operation
>>
>> Attribute("CN"))))))
>>
>> Basically, the above placement policy is to place the groups to the
>> respective Service with the CN = [Group ID]. The fields I have for my
>> delimited text file are Service, CN, FullName, Description. Wonder
>> anyone knows what is wrong with it?
>>
>> Thanks
>> Alan
> 
Post Reply
Re: Error msg "No DN generated by the object placement policy"
Fri, 16 May 2008 06:26:02 GMT
Hi

I managed to get rid of the previous error by changing a parameter in
the InputTransformSS file from 'User' to 'Group'. Is it correct to do
this?

Though the error has gone, I have another error message. Below is a
partial trace log I have gathered. Wonder what I have done wrong that
incurred this error? Initially I thought I have indicated CN as one of
the field which the object class 'Group' does not have the attribute
'CN', so I changed it to 'otherName' which an attribute I have created
and added to the object class 'Group'. However it did not solve the
problem. Pls help.


13:32:21 7AC Drvrs: Delimited Text (Groups) PT:
<nds dtdversion="1.1" ndsversion="8.6"
xml:space="default">
<input>
<add class-name="Group" src-dn=" ">
<association/>
<add-attr attr-name="mindefService">
<value type="string">air</value>
</add-attr>
<add-attr attr-name="otherName">
<value type="string">air_testgrp_1</value>
</add-attr>
<add-attr attr-name="Full Name">
<value type="string">Air Test Group 1</value>
</add-attr>
<add-attr attr-name="Description">
<value type="string">Test Group 1</value>
</add-attr>
</add>
</input>
</nds>
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:Applying object
placement policies.
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:Applying policy:
PublisherPlacementRule.
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Applying to add #1.
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Evaluating selection
criteria for rule 'Placement - Publisher By Service'.
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: (if-class-name equal
"Group") = TRUE.
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: (if-attr
'mindefService' available) = TRUE.
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Rule selected.
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Applying rule
'Placement - Publisher By Service'.
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Action:
do-set-local-variable("dest-base",scope="policy","COMPA
NY\People").
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:
arg-string("COMPANY\People")
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:
token-text("COMPANY\People")
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Arg Value:
"COMPANY\People".
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Action:
do-set-op-dest-dn(arg-dn(token-local-variable("dest-base")+"\&quo
t;+token-attr("mindefService")+"\"+"Groups"+"
\"+token-escape-for-dest-dn(token-unique-name("CN",counter-patter
n="last",counter-use="fallback",on-unavailable="error&q
uot;,scope="subtree",token-lower-case(token-op-attr("otherName&qu
ot;,notrace="false")))))).
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:
arg-dn(token-local-variable("dest-base")+"\"+token-attr(&quo
t;mindefService")+"\"+"Groups"+"\"+token-esca
pe-for-dest-dn(token-unique-name("CN",counter-pattern="last"
,counter-use="fallback",on-unavailable="error",scope="s
ubtree",token-lower-case(token-op-attr("otherName",notrace="
false")))))
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:
token-local-variable("dest-base")
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Token Value:
"COMPANY\People".
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: token-text("\")
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:
token-attr("mindefService")
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Token Value: "air".
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: token-text("\")
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: token-text("Groups")
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: token-text("\")
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:
token-escape-for-dest-dn(token-unique-name("CN",counter-pattern="
last",counter-use="fallback",on-unavailable="error",sco
pe="subtree",token-lower-case(token-op-attr("otherName",notr
ace="false"))))
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:
token-escape-for-dest-dn(token-unique-name("CN",counter-pattern="
last",counter-use="fallback",on-unavailable="error",sco
pe="subtree",token-lower-case(token-op-attr("otherName",notr
ace="false"))))
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:
token-unique-name("CN",counter-pattern="last",counter-use=&q
uot;fallback",on-unavailable="error",scope="subtree",to
ken-lower-case(token-op-attr("otherName",notrace="false")))
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:
arg-string(token-lower-case(token-op-attr("otherName",notrace="fa
lse")))
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:
token-lower-case(token-op-attr("otherName",notrace="false"))

13:32:21 7AC Drvrs: Delimited Text (Groups) PT:
token-lower-case(token-op-attr("product version="3.5.10.20070918
">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<query class-name="Group" scope="subtree">
<search-class class-name="Group"/>
<search-attr attr-name="CN">
<value>air_testgrp_1</value>
</search-attr>
<read-attr/>
</query>
</input>
</nds>
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Pumping XDS to
eDirectory.
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Performing operation
query for .
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Query from policy
result
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: 
<nds dtdversion="3.5" ndsversion="8.x">
<source>
<product version="3.5.10.20070918 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<status event-id="0" level="success"></status>
</output>
</nds>
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Token Value:
"air_testgrp_1".
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Arg Value:
"air_testgrp_1".
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Token Value:
"air_testgrp_1".
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Arg Value:
"COMPANY\People\air\Groups\air_testgrp_1".
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Action: do-break().
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:Policy returned:
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:
<nds dtdversion="1.1" ndsversion="8.6"
xml:space="default">
<input>
<add class-name="Group"
dest-dn="COMPANY\People\air\Groups\air_testgrp_1" src-dn="
">
<association/>
<add-attr attr-name="mindefService">
<value type="string">air</value>
</add-attr>
<add-attr attr-name="otherName">
<value type="string">air_testgrp_1</value>
</add-attr>
<add-attr attr-name="Full Name">
<value type="string">Air Test Group 1</value>
</add-attr>
<add-attr attr-name="Description">
<value type="string">Test Group 1</value>
</add-attr>
</add>
</input>
</nds>
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:Found non-class
attribute mindefService.
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:Rejecting auxiliary
class mindefUser because mandatory attribute mindefUnit is missing.
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:Applying command
transformation policies.

OUTPUT CUT

</nds>otherName",notrace="false"))
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:
token-op-attr("otherName",notrace="false")
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Token Value:
"air_testgrp_1".
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Arg Value:
"air_testgrp_1".
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Token Value:
"air_testgrp_1".
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Arg Value:
"air_testgrp_1".
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: Query from policy
13:32:21 7AC Drvrs: Delimited Text (Groups) PT: 
<nds dtdversion="3.5" ndsversion="8.x">
<source>
< 
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:Filtering out
notification-only attributes.
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:Pumping XDS to
eDirectory.
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:Performing operation add
for COMPANY\People\air\Groups\air_testgrp_1.
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:Adding entry
COMPANY\People\air\Groups\air_testgrp_1.
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:Creating RDN
air_testgrp_1 in context COMPANY\People\air\Groups.
13:32:21 7AC Drvrs: Delimited Text (Groups) PT:
DirXML Log Event -------------------
Driver: \MINDEF\COMPANY\Driver Set\Delimited Text (Groups)
Channel: Publisher
Object: (COMPANY\People\air\Groups\air_testgrp_1)
Status: Error
Message: Code(-9010) An exception occurred: novell.jclient.JCException:
createEntry -608 ERR_ILLEGAL_ATTRIBUTE


Thanks
Alan

Father Ramon;1558114 Wrote: 
> Make sure you include the document that goes into the policy as well.
> 
> -Father Ramon
> 
> 
> Martyn Durrant wrote:
> > yesyys,
> >
> > Could you re-post with a snippet of the Level 3 Trace showing the
> XDS
> > Document that is produced after the Placement Policy has run
> >
> >
> > Rgds - M
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >> Hi
> >>
> >> I want to create groups objects in the IDVault using Delimited
Text
> >> and
> >> they are placed according to different Service. I did the same
> method
> >> as
> >> for creating users in the IDVault with the modification on the
> Object
> >> Class Name which I set as 'Group'. I encountered the error
message
> >> "Code (-9064) No DN generated by the object placement
policy.".
> Below
> >> is the placement policy I have set:
> >> Condition: if class name equal "Group" AND if attribute
'Service'
> >> available
> >>
> >> Actions:
> >> set local
variable("dest-base",scope="policy","TREENAME\People&qu
ot;)
> >> set operation destination DN(dn(Local
Variable("dest-base") + "\" +
> >>
> >> Attribute("Service") + "\" +
"Groups" + "\" + Escape Destination
> >>
> >> DN(Unique
> >>
> >>
>
Name("CN",counter-pattern="last",counter-use="fallback&
quot;,on-unavailable
> >> ="error",scope="subtree",Lowercase(Operation
> >>
> >> Attribute("CN"))))))
> >>
> >> Basically, the above placement policy is to place the groups to
the
> >> respective Service with the CN = [Group ID]. The fields I have for
> my
> >> delimited text file are Service, CN, FullName, Description.
Wonder
> >> anyone knows what is wrong with it?
> >>
> >> Thanks
> >> Alan
> >
> >


-- 
yesyys
------------------------------------------------------------------------
yesyys's Profile: http://forums.novell.com/member.php?userid=16554
View this thread: http://forums.novell.com/showthread.php?t=328041
Post Reply
Re: Error msg "No DN generated by the object placement policy"
Fri, 16 May 2008 10:58:47 GMT
yesyys wrote:
> Hi
> 
> I managed to get rid of the previous error by changing a parameter in
> the InputTransformSS file from 'User' to 'Group'. Is it correct to do
> this?

As long as the only thing you are syncing on the publisher channel with 
that instance of the driver, then that should be fine. You also could 
have changed the schema mapping policy. If you are doing other object 
classes as well, then would need to do something more sophisticated that 
set the class based on the data in the incoming file.

> 
> Though the error has gone, I have another error message. Below is a
> partial trace log I have gathered. Wonder what I have done wrong that
> incurred this error? Initially I thought I have indicated CN as one of
> the field which the object class 'Group' does not have the attribute
> 'CN', so I changed it to 'otherName' which an attribute I have created
> and added to the object class 'Group'. However it did not solve the
> problem. Pls help.
> 

otherName is not an attribute - it is just how the UI presents the 
additional values CN that are not the name of the object.

Since the error in the trace you posted likely comes from using 
otherName, it is difficult to say for sure what your original problem 
was, but there is another problem that is revealed by this trace.

 > 13:32:21 7AC Drvrs: Delimited Text (Groups) PT:Found non-class
 > attribute mindefService.
 > 13:32:21 7AC Drvrs: Delimited Text (Groups) PT:Rejecting auxiliary
 > class mindefUser because mandatory attribute mindefUnit is missing.
 > 13:32:21 7AC Drvrs: Delimited Text (Groups) PT:Applying command
 > transformation policies.
 >

You have an attribute coming in (mindefService) that apparently is part 
of an aux class (mindefUser), but the aux class can't be added because 
(at least) one of the required attributes of mindefUser (mindefUnit), is 
   not being added with the group. This could be your original problem, 
but it's hard to say without seeing the complete original trace.

-Father Ramon

Post Reply
about | contact