Domain values need to be added where MAXDOMAIN is the parent object such as the MXAPIDOMAIN object structure.
Also, never set the valueid. You put a SITEID in your message and provided an incorrect valueid when you have a site specified. VALUEID will get generated automatically by the framework and if you provide it, we may not be able to overwrite it (depending on whether this field is restricted on the object structure) which can lead to issues.
The MXAPIALNDOMAIN object structure should have been set as Query Only since it really does not support modifications. When you are in the Domains application, the main object is MAXDOMAIN and when you edit it, we go through a relationship from MAXDOMAIN to ALNDOMAIN. Then we have logic at the Mbo level that goes up to the parent object (using getOwner()). This fails when we just have ALNDOMAIN which leads to your null pointer exception message.
------------------------------
Steven Shull
IBM
------------------------------