It's not pretty but when I faced a similar challenge I built the XML string in Mx as a variable and then passed that to java to trigger the Mx core web service function which in turn did not complain about my "custom" XML.
Hope it helps, if you want the piece of code just let me know (I'd have to look it up on an older project).
Have you tried leaving all the soapenv nodes out? Mendix takes care of those nodes.
So the header part becomes:
<authenticate>
<guid>{2}</guid>
<username>{3}</username>
<password>{4}</password>
</authenticate>
And the body part:
<inb:inboxbericht>
<inb:message>
<![CDATA[
{1}
]]>
</inb:message>
</inb:inboxbericht>
You could also try to build a domain to xml mapping, map that to a string and insert that string to your message.