MXWO out of the box doesn't include WORKLOG and I would not recommend modifying out of the box object structures. I would duplicate the object structure, add WORKLOG as a child object, and set the relationship to MODIFYWORKLOG (to avoid a GET request retrieving the entire worklog table).
You shouldn't provide most of the attributes you listed when creating a WORKLOG. EX: recordkey, class, siteid, logtype_description, rowstamp, modifyby, modifydate, etc. as that will just increase your payload size and isn't needed to create a work log entry.
Are you making the GET request to get your HREF for that Work Order? IE after /mxwo do you have /_LONGSTRING? That string is the base 64 encoding of the primary keys of the object (so siteid & wonum in this case).
I would make sure that you're making the request to the correct HREF, that the object structure is defined correctly, and simplify your payload to only the necessary fields and see what happens.
------------------------------
Steven Shull
IBM
------------------------------