have you tried wrapping the "$NULL$" in CDATA tags? Have not tried, but worth looking at:
Just a thought.
Thanks for the input Carl. Using a CDATA tag is not a bad idea actually. Unfortunately this is not helping much.
I did some test with and without the CDATA tag. In order to avoid having filters and menu validation in the middle, let's do the test with a regular CHAR fields. I will be using the resolution field. For instance:
- This won't work and will be ignored by the ARXMLSetEntry
- This one will work and set the field
but in the end give the same result as
for example sending this: <urn:Resolution><![CDATA[$USER$]]></urn:Resolution>
is Log like this by the midtier:
And unfortunately sending $NULL$ or even $\NULL$ for the Assignee/Assignee_Login_ID result in the following fault:
<faultstring>ERROR (1291053): ; The Assigned Group fields are invalid. Use the menus for the Support Company, Support Organization, Assigned Group, and Assignee fields or the type ahead return function on the Assigned Group or Assignee fields to select this information.</faultstring>
I'm running my test on a fresh install of version 9.1.00 201512160229 with Smart IT. I did some test on another instance updated from 8.1 to the same version and I can observe the same behavior.
I would like to know are you trying to clear out all the assignment fields in helpdesk form.(Assigned Company, Assigned Organization, Assigned Support Group).
Also, I would like to know on which status are you trying to clear the values.
1 of 1 people found this helpful
I stumble upon the issue when trying to clear the Assignee. I was not touching the groups in this case. (btw regarding the status, usually when doing so I'm setting it to "assigned" as well in order to avoid any kind of conflict).
But the bottom of the issue is not really which field I'm trying to set. This is a global behavior of the WS which is totally ignoring empty XML attribute. So, the same will happen with the "resolution" field. Say for example that you have something in your resolution and that you want to clear it. This should be the way:
...but this will just not work....
A small precision as well as it was not clear in my previous post. Keywords in the SOAP Body are not "resolved" during the SET operation. Hence, when setting a field using this for example
will return the following in a GET operation
To be noted: the $USER$ keyword will be resolved when displaying the field in the MidTier web form which might be confusing, but in the backend the field value will still remain "$USER$".
Thanks for the link. It is actually good to see that it is documented I've kind of learn it the hard way by trial an errors. Kudos for this one!
Unfortunately, this is just confirming that I (hopefully) doing it that right way and that it is clearly a bug in the ARXMLSetEntry. I've already tried (and even re-tried it like 5min ago) any possible combination of minOccurs/nillable possible with the exact same outcomes: Empty XML element are just ignored.
Just FYI, I have a case open with BMC support. They were able to reproduce/confirm the issue and are now testing the last ARS bundle for 9.1. Not sure it will fix the issue yet but let's hope that the bug make it's way up to the dev team.
1 of 1 people found this helpful
I'm glad to inform that SW00510106 - Unable to nullify field value through
WebServices, is now addressed in the last Hotfix.
Product Component: ARServer
Build Base Version: 9.1.00
Fix Type: Hotfix binary
Affected Platform: All
Hotfix Version Stamp:9.1.00 201606110921
Thanks to the BMC Customer Support & Engineering Teams who did a great job on this one
We are also interested in this patch because we encountered the same issues you described in this thread. However, I did not see this issue (SW00510106) in the list of known and corrected issues.
How did you obtain a hotfix build with a fix for this issue?
Sorry for the delay answering, I was out last week. The patch bundle BMC provided me with is a "Beta" patch and I don't think it will be made generally available before further validation and testing. You should contact BMC support in order to be provided with those bundles and shall consider testing them properly on your side if you need it to be implemented in production.