I\'ve read all there is to read on this, but maybe I\'m missing something (well, definitely I\'m missing something otherwise it would be working already)
(This is a bit of stab in the dark) I believe you may have an issue because the action on the fault does not match that expected at the client. Can you please replace your CreateMessage with the following: