Skip to main content

Created a channel to update the empty ItemB with ItemA. I have many that have errored out, but the error doesn’t really give me an clue of what needs to be done.  (Error below)

Here is the details of the DataMapper:

 

Here is the definition of channel:

 

The Data:

id version csgId dateLogged incDataVersion itemAId itemBId bundleType bundleTypeEnum eventRef
4645 12 0 2021-06-16T16:08:09-05:00 1 1637 0 0 STANDALONE 2824

The Error:

Error invoking update on event with body {itemB={assystRESTType=item, assystRESTXMLType=itemDto, name=Cyber Security Services, id=1637, shortCode=CYBER SECURITY SERVICES}, itemA={assystRESTType=item, assystRESTXMLType=itemDto, name=Cyber Security Services, id=1637, shortCode=CYBER SECURITY SERVICES}, custom={}, itemBId=1637, self={assystRESTType=event, assystRESTXMLType=eventDto, id=4645}, itemAId=1637, id=4645}, options []: A complex validation error has been detected by the application. Type: ComplexValidationException.Errors: [{"objectFailingValidationClass":"com.axiossystems.assyst.dto.events.EventDto","messageKey":"server.validation.errors.invalidPropertyDefinitionForWebCustomPropertyValue","message":"Value specified for a field not on this form. This form supports the following fields: ","field":"webCustomPropertyValues","rule":"invalidPropertyDefinitionForWebCustomPropertyValue","diagnostic":null,"assystRESTType":"error","assystRESTXMLType":"restApplicationError"}]

My assessment is you have a custom field where the value is null, custom field isn’t found on the form, or it doesn’t match the available options.  You should look at your assyst log and rest log, they may provide more information.  You can also go directly to rest manually try the update.  Are you mapping a custom field?  There are special requirements for doing that and getting it to work; it’s not dynamic in this service management tool, like others.


Using one of the Events, I figured out this Query will return the definition, which contains the two fields that are required, in this case is “MailBox Name” - now the question is how would this relate to the channel or get to update/add to the event?

https://wvtexasyt0004.oppd.oppd-ds.com:8443/assystREST/v2/events/142/definition 

This is the inside element:

        <configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="stringConfigurationProperties">
            <fieldSize>NORMAL</fieldSize>
            <immutable>false</immutable>
            <labelColour>
                <rgb>255</rgb>
            </labelColour>
            <mandatory>true</mandatory>
            <name>
                <attribute>
                    <cacheable>false</cacheable>
                    <id>-1</id>
                    <objectAvailable>true</objectAvailable>
                    <stringValue>MailBox Name</stringValue>
                    <stringValueType>1</stringValueType>
                    <type>1</type>
                </attribute>
                <value>MailBox Name</value>
            </name>
            <unavailable>false</unavailable>
        </configuration>
        <id>55390</id>
        <key>change.main.webCustomPropertyValues.55390</key>
        <propertyDefinitionGroupId>30080</propertyDefinitionGroupId>
        <propertyDefinitionGroupType>2</propertyDefinitionGroupType>
        <propertyIdentifier>webCustomPropertyValues.55390</propertyIdentifier>
        <shortCode>MAILBOX NAME</shortCode>
        <type>STRING</type>
 

 


Hi 😊

I realize this is an older question, but did you figure out what caused this problem?

If this is still unsolved, I have some ideas to help narrow down the issue.
Just to clarify, does this channel work on most events, but error out on a few?

While I’m no expert here, to me the error message you mentioned doesn’t seem to correlate with a missing mandatory value for MailBox Name. Rather, it looks like Assyst can’t find a field you're specifying in the data mapper.

Were there any other fields in the data mapper than the ones you show in the screenshots, such as custom fields?

If so, it’s possible this might be caused by an outdated definition in ETM, or that the custom field specified by shortCode in the data mapper doesn’t exist in all event forms. For an outdated definition did the problem perhaps resolve itself after restarting ETM or by disconnecting the ETM user's sessions in assystREST?

Lastly, and this is a long shot,  but are there any fields (custom or not) in the error affected event’s forms that exist in the data mapper, but are customized to be hidden for the alias user utilized by ETM? If so, ETM might not be able to see the relevant fields during the update POST request, which could cause it to error out as a result.

 

Best regards,

Richard