I actually tried this by passing html as string and it works. It will internally encode html like replace all the "<" signs with something like "& lt;" and other special characters in its own representation and pass it over. This is again converted back into plain string with "<" when you receive in client.
If this doesn't help try using CDATA. Well I dont have any experience in using that but I am guessing it should be possible.
I would also suggest not to pass html as some kind of object as it's never valid xml. Especially if that html is generated by human being, you know as human beings are creative ...
subject: how to get the html format reponse using soap web service