[midPoint] assignmentTargetSearch "null polystring orig" error

Devin Rosenbauer devin at identityworksllc.com
Mon Dec 7 17:16:11 CET 2015


This is the relevant logs, by the way. I'm replacing the current user name
(which is not null, set to a joke value of Funguy) with Devin in this run:

2015-12-07 16:05:20,677 [MODEL] [Thread-15] TRACE
(com.evolveum.midpoint.model.impl.lens.projector.Projector): Lens context:
---[ PROJECTOR (INITIAL) context projector start
]--------------------------------
LensContext: state=INITIAL, Wave(e=0,p=0,max=0), focus, 0 projections, 1
changes, fresh=false
  Channel: http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user
  Options:
[force=false,raw=null,noCrypt=null,reconcile=true,executeImmediatelyAfterApproval=false,overwrite=null,limitPropagation=null,reevaluateSearchFilters=null]
  Settings: null
  FOCUS:
    Focus, NOT FRESH, oid=b5cff21a-5a9d-47a0-b042-a299ada2f14f,
syncIntent=null
      Focus old: null
      Focus current: null
      Focus new: null
      Focus primary delta:

ObjectDelta<UserType>(UserType:b5cff21a-5a9d-47a0-b042-a299ada2f14f,MODIFY):
          givenName
            REPLACE: Devin
      Focus secondary delta: empty
      Focus executed deltas: []
  PROJECTIONS: none

2015-12-07 16:05:21,246 [PROVISIONING] [Thread-15] INFO
(com.evolveum.midpoint.provisioning.impl.ConnectorManager): Created new
connector instance for resource:c1b8b075-8c45-4058-ba32-753b87ac2da0
(Addressbook): org.identityconnectors.databasetable.DatabaseTableConnector
v1.4.0.49
2015-12-07 16:05:21,389 [MODEL] [Thread-15] TRACE
(com.evolveum.midpoint.model.impl.lens.projector.Projector): WAVE: Starting
the waves.
2015-12-07 16:05:21,389 [MODEL] [Thread-15] TRACE
(com.evolveum.midpoint.model.impl.lens.projector.Projector): WAVE 0
(maxWaves=1, executionWave=0)

*[Duplicate error message logged by Expression here]*

2015-12-07 16:05:21,930 [MODEL] [Thread-15] ERROR
(com.evolveum.midpoint.model.common.mapping.Mapping): Error evaluating
mapping in objectTemplate:c0c010c0-d34d-b33f-f00d-777222222334(User
Template 2): 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)
com.evolveum.midpoint.util.exception.SchemaException: Failed to convert
query. Reason: Null polystring orig in XNode(map:1
entries)(givenName=PPV(PolyString:Devin); ) in expression in mapping in o
bjectTemplate:c0c010c0-d34d-b33f-f00d-777222222334(User Template 2)
        at
com.evolveum.midpoint.model.common.expression.evaluator.AbstractValueTransformationExpressionEvaluator$1.process(AbstractValueTransformationExpressionEvaluator.java:432)
~[model-common-
3.3.jar:na]
        at
com.evolveum.midpoint.model.common.expression.evaluator.AbstractValueTransformationExpressionEvaluator$1.process(AbstractValueTransformationExpressionEvaluator.java:1)
~[model-common-3.
3.jar:na]
        at
com.evolveum.midpoint.util.MiscUtil.carthesian(MiscUtil.java:370)
~[util-3.3.jar:na]
        at
com.evolveum.midpoint.util.MiscUtil.carthesian(MiscUtil.java:360)
~[util-3.3.jar:na]
        at
com.evolveum.midpoint.model.common.expression.evaluator.AbstractValueTransformationExpressionEvaluator.evaluateRelativeExpression(AbstractValueTransformationExpressionEvaluator.java:442
) ~[model-common-3.3.jar:na]
        at
com.evolveum.midpoint.model.common.expression.evaluator.AbstractValueTransformationExpressionEvaluator.evaluate(AbstractValueTransformationExpressionEvaluator.java:114)
~[model-common-3
.3.jar:na]
        at
com.evolveum.midpoint.model.common.expression.Expression.evaluate(Expression.java:133)
~[model-common-3.3.jar:na]
        at
com.evolveum.midpoint.model.common.mapping.Mapping.evaluateExpression(Mapping.java:969)
~[model-common-3.3.jar:na]
        at
com.evolveum.midpoint.model.common.mapping.Mapping.evaluate(Mapping.java:508)
~[model-common-3.3.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.projector.MappingEvaluator.evaluateMapping(MappingEvaluator.java:88)
[model-impl-3.3.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.projector.ObjectTemplateProcessor.collectTripleFromMappings(ObjectTemplateProcessor.java:382)
[model-impl-3.3.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.projector.ObjectTemplateProcessor.collectTripleFromTemplate(ObjectTemplateProcessor.java:316)
[model-impl-3.3.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.projector.ObjectTemplateProcessor.processTemplate(ObjectTemplateProcessor.java:147)
[model-impl-3.3.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.projector.FocusProcessor.processFocusFocus(FocusProcessor.java:219)
[model-impl-3.3.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.projector.FocusProcessor.processFocus(FocusProcessor.java:139)
[model-impl-3.3.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.projector.Projector.projectInternal(Projector.java:208)
[model-impl-3.3.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.projector.Projector.project(Projector.java:106)
[model-impl-3.3.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.Clockwork.click(Clockwork.java:297)
[model-impl-3.3.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.Clockwork.run(Clockwork.java:209)
[model-impl-3.3.jar:na]
        at
com.evolveum.midpoint.model.impl.controller.ModelController.executeChanges_aroundBody4(ModelController.java:616)
[model-impl-3.3.jar:na]
        at
com.evolveum.midpoint.model.impl.controller.ModelController$AjcClosure5.run(ModelController.java:1)
[model-impl-3.3.jar:na]
        at
org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:149)
[aspectjrt-1.7.3.jar:na]
        at
com.evolveum.midpoint.util.aspect.MidpointAspect.wrapSubsystem(MidpointAspect.java:178)
[util-3.3.jar:na]
        at
com.evolveum.midpoint.util.aspect.MidpointAspect.ajc$inlineAccessMethod$com_evolveum_midpoint_util_aspect_MidpointAspect$com_evolveum_midpoint_util_aspect_MidpointAspect$wrapSubsystem(MidpointAspect.java:1)
[util-3.3.jar:na]
        at
com.evolveum.midpoint.util.aspect.MidpointAspect.processModelNdc(MidpointAspect.java:63)
[util-3.3.jar:na]
        at
com.evolveum.midpoint.model.impl.controller.ModelController.executeChanges(ModelController.java:432)
[model-impl-3.3.jar:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[na:1.7.0_91]
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
~[na:1.7.0_91]
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.7.0_91]
        at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_91]
        at
org.apache.wicket.proxy.LazyInitProxyFactory$JdkHandler.invoke(LazyInitProxyFactory.java:480)
[wicket-ioc-6.20.0.jar:6.20.0]
        at com.sun.proxy.$Proxy137.executeChanges(Unknown Source) [na:na]
        at
com.evolveum.midpoint.web.component.progress.ProgressReporter$1.run(ProgressReporter.java:184)
[classes/:na]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_91]
Caused by: com.evolveum.midpoint.util.exception.SchemaException: Failed to
convert query. Reason: Null polystring orig in XNode(map:1 entries)
        at
com.evolveum.midpoint.prism.query.QueryJaxbConvertor.createObjectQueryInternal(QueryJaxbConvertor.java:140)
~[prism-3.3.jar:na]
        at
com.evolveum.midpoint.prism.query.QueryJaxbConvertor.createObjectQueryInternal(QueryJaxbConvertor.java:119)
~[prism-3.3.jar:na]
        at
com.evolveum.midpoint.prism.query.QueryJaxbConvertor.createObjectQuery(QueryJaxbConvertor.java:90)
~[prism-3.3.jar:na]
        at
com.evolveum.midpoint.model.common.expression.evaluator.AbstractSearchExpressionEvaluator.transformSingleValue(AbstractSearchExpressionEvaluator.java:160)
~[model-common-3.3.jar:na]
        at
com.evolveum.midpoint.model.common.expression.evaluator.AbstractValueTransformationExpressionEvaluator$1.process(AbstractValueTransformationExpressionEvaluator.java:422)
~[model-common-3.3.jar:na]
        ... 33 common frames omitted
Caused by: com.evolveum.midpoint.util.exception.SchemaException: Null
polystring orig in XNode(map:1 entries)
        at
com.evolveum.midpoint.prism.parser.PrismBeanConverter.unmarshalPolyString(PrismBeanConverter.java:1152)
~[prism-3.3.jar:na]
        at
com.evolveum.midpoint.prism.parser.PrismBeanConverter.unmarshall(PrismBeanConverter.java:147)
~[prism-3.3.jar:na]
        at
com.evolveum.midpoint.prism.parser.PrismBeanConverter.unmarshall(PrismBeanConverter.java:130)
~[prism-3.3.jar:na]
        at
com.evolveum.midpoint.prism.parser.XNodeProcessor.parsePrismPropertyRealValueFromMap(XNodeProcessor.java:580)
~[prism-3.3.jar:na]
        at
com.evolveum.midpoint.prism.parser.XNodeProcessor.parsePrismPropertyRealValue(XNodeProcessor.java:469)
~[prism-3.3.jar:na]
        at
com.evolveum.midpoint.prism.parser.XNodeProcessor.parsePrismPropertyValue(XNodeProcessor.java:458)
~[prism-3.3.jar:na]
        at
com.evolveum.midpoint.prism.parser.XNodeProcessor.parsePrismPropertyFromMap(XNodeProcessor.java:438)
~[prism-3.3.jar:na]
        at
com.evolveum.midpoint.prism.parser.XNodeProcessor.parsePrismProperty(XNodeProcessor.java:392)
~[prism-3.3.jar:na]
        at
com.evolveum.midpoint.prism.parser.XNodeProcessor.parseItem(XNodeProcessor.java:1008)
~[prism-3.3.jar:na]
        at
com.evolveum.midpoint.prism.parser.QueryConvertor.parseItem(QueryConvertor.java:616)
~[prism-3.3.jar:na]
        at
com.evolveum.midpoint.prism.parser.QueryConvertor.parseEqualFilter(QueryConvertor.java:327)
~[prism-3.3.jar:na]
        at
com.evolveum.midpoint.prism.parser.QueryConvertor.parseFilterContainer(QueryConvertor.java:215)
~[prism-3.3.jar:na]
        at
com.evolveum.midpoint.prism.parser.QueryConvertor.parseFilterContainer(QueryConvertor.java:196)
~[prism-3.3.jar:na]
        at
com.evolveum.midpoint.prism.parser.QueryConvertor.parseFilter(QueryConvertor.java:173)
~[prism-3.3.jar:na]
        at
com.evolveum.midpoint.prism.query.QueryJaxbConvertor.createObjectQueryInternal(QueryJaxbConvertor.java:130)
~[prism-3.3.jar:na]
        ... 37 common frames omitted


On Mon, Dec 7, 2015 at 10:20 AM, Devin Rosenbauer <
devin at identityworksllc.com> wrote:

> That didn't work, Roman, same error.
>
> All of the examples use a $ in the expression there. What are the rules
> for using a $ vs not?
>
> On Mon, Dec 7, 2015 at 10:06 AM, Roman Pudil - AMI Praha a.s. <
> roman.pudil at ami.cz> wrote:
>
>> 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
>>
>>
>>
>> <http://www.ami.cz/reseni-a-sluzby/bezpecnost-dat/identity-management>
>> 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 Architectevolveum.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 listmidPoint at lists.evolveum.comhttp://lists.evolveum.com/mailman/listinfo/midpoint
>>
>>
>>
>>
>> _______________________________________________
>> midPoint mailing list
>> midPoint at lists.evolveum.com
>> http://lists.evolveum.com/mailman/listinfo/midpoint
>>
>>
>
>
> --
> Devin Rosenbauer
> Principal Consultant
> Identity Works LLC
> +1 585 210 3201
>



-- 
Devin Rosenbauer
Principal Consultant
Identity Works LLC
+1 585 210 3201
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.evolveum.com/pipermail/midpoint/attachments/20151207/99bab86a/attachment-0001.html>


More information about the midPoint mailing list