[midPoint] assignmentTargetSearch "null polystring orig" error

Roman Pudil - AMI Praha a.s. roman.pudil at ami.cz
Mon Dec 7 16:06:56 CET 2015


Hi Devin,
problem is probably in:
                   <expression>
                      <c:path>$givenName</c:path>
                   </expression>
Please, try (without "$" char):

                   <expression>
                      <c:path>givenName</c:path>
                   </expression>
Regards

Roman Pudil
solution architect

gsm: [+420] 775 663 666
e-mail: roman.pudil at ami.cz


AMI Praha a.s.
Pláničkova 11
162 00 Praha 6
tel./fax: [+420] 274 783 239
web: www.ami.cz





Textem tohoto e-mailu podepisující neslibuje uzavřít ani neuzavírá za 
společnost AMI Praha a.s.
jakoukoliv smlouvu. Každá smlouva, pokud bude uzavřena, musí mít 
výhradně písemnou formu.



------ Původní zpráva ------
Od: "Radovan Semancik" <radovan.semancik at evolveum.com>
Komu: midpoint at lists.evolveum.com
Odesláno: 7.12.2015 16:02:48
Předmět: Re: [midPoint] assignmentTargetSearch "null polystring orig" 
error

>Hi,
>
>I have similar mapping working in our story tests.
>
>How does your input object looks like? I mean, how does the user looks 
>like before it is processed by the template?
>Is there any chance that the givenName is null?
>
>The evaluation of null expressions has changed a bit in 3.3. But I 
>think that your expression should work and you are probably hitting a 
>but. I will need more data to replicate it.
>
>-- Radovan Semancik Software Architect evolveum.com
>
>On 12/04/2015 05:15 PM, Devin Rosenbauer wrote:
>>Can anybody else please try this mapping on their end and see if it 
>>works?
>>
>>On Tue, Dec 1, 2015 at 1:51 PM, Devin Rosenbauer 
>><devin at identityworksllc.com> wrote:
>>>Version is 3.3.
>>>
>>>I've got the following in my user template, based on a somewhat 
>>>modified version of what's in the documentation online:
>>>
>>>   <mapping>
>>>       <source>
>>>          <c:path>$user/givenName</c:path>
>>>       </source>
>>>       <expression>
>>>          <assignmentTargetSearch>
>>>             <targetType>c:OrgType</targetType>
>>>             <filter>
>>>                <q:equal>
>>>                   <q:path>c:name</q:path>
>>>                   <q:value>
>>>                      <expression>
>>>                         <path>$givenName</path>
>>>                      </expression>
>>>                   </q:value>
>>>                </q:equal>
>>>             </filter>
>>>             <createOnDemand>true</createOnDemand>
>>>             <populateObject>
>>>                <populateItem>
>>>                   <expression>
>>>                      <c:path>$givenName</c:path>
>>>                   </expression>
>>>                   <target>
>>>                      <c:path>name</c:path>
>>>                   </target>
>>>                </populateItem>
>>>             </populateObject>
>>>          </assignmentTargetSearch>
>>>       </expression>
>>>       <target>
>>>          <c:path>assignment</c:path>
>>>       </target>
>>>    </mapping>
>>>
>>>I expect that this would create an Org called "Devin" and assign the 
>>>user to it.
>>>
>>>Here's what I get as an error message when I attempt to save and 
>>>reconcile the user:
>>>Failed to convert query. Reason: Null polystring orig in XNode(map:1 
>>>entries)(givenName=PPV(PolyString:Devin); ) in expression in mapping 
>>>in objectTemplate:c0c010c0-d34d-b33f-f00d-777222222334(User Template 
>>>2)
>>>operation.com.evolveum.midpoint.web.page.admin.PageAdminFocus.save
>>>Cause:
>>>Failed to convert query. Reason: Null polystring orig in XNode(map:1 
>>>entries)(givenName=PPV(PolyString:Devin); ) in expression in mapping 
>>>in objectTemplate:c0c010c0-d34d-b33f-f00d-777222222334(User Template 
>>>2)
>>>
>>>The documentation on the Expressions page and the samples appear to 
>>>be somewhat incorrect here. I've had to make some corrections from 
>>><query> to <filter>, adding a <source>, and so forth. I also am 
>>>temporarily using an OOTB field instead of a custom field to ensure 
>>>that it's a PolyString and not an xsd:string, just to make sure that 
>>>wasn't the issue.
>>>
>>>At this point, it seems pretty clear that it is grabbing the value in 
>>>the XNodeMap, since it's printed in the error message.
>>>
>>>So, how should this mapping be structured to do what I need to do?
>>>
>>>--
>>>Devin Rosenbauer
>>>Principal Consultant
>>>Identity Works LLC
>>>+1 585 210 3201
>>
>>
>>
>>--
>>Devin Rosenbauer
>>Principal Consultant
>>Identity Works LLC
>>+1 585 210 3201
>>
>>
>>_______________________________________________ midPoint mailing list 
>>midPoint at lists.evolveum.comhttp://lists.evolveum.com/mailman/listinfo/midpoint
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.evolveum.com/pipermail/midpoint/attachments/20151207/7ac16756/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 4060 bytes
Desc: not available
URL: <http://lists.evolveum.com/pipermail/midpoint/attachments/20151207/7ac16756/attachment-0001.bin>


More information about the midPoint mailing list