I tried to come up with a title for this that made sense, but it is just a weird problem really. I thought there was a bug in HP OpenView, but I am now confident it is a configuration issue. Here is the behavior I saw that will help explain what the issue is. I have a work order (though this issue is not specific to work orders I suspect) template. I have set the assigned to workgroup to a workgroup that happens to be inactive. Obviously I would not do this on purpose. Actually someone made the workgroup inactive and didn't know that the template was using it and should be updated. The issue is that when you create a work order using this template it shows the value of the assigned to workgroup field as blank (in the HP OpenView Service Desk Client) or null (in the case of the Java web-api. If you know that inactive workgroups show as blank or null then there is no problem. However, it is VERY frustrating when in the template you see a workgroup set, and in the UI and web-api call you see blank or null respectively. It just doesn't make sense without knowing this quirk. So, I hope this helps others. One other caveat to this is that IF the assigned to person is specified in the template then (at least with our business rules, I don't know if this is default behavior) the assigned to workgroup is changed to the workgroup of the assigned to person assuming that the workgroup is inactive. This was the main confusing part. We removed the assigned to person, and started getting validation errors that said the assigned to workgroup was null. So, while they seem unrelated, they are related in particular circumstances.
Good luck to all.