I realize that this response is not particularly timely, but I just ran into this same issue, which I had to figure out to keep working.
The message you received is caused by a problem in the proxy classes generated by the tool:
RPC Message updateUserRequest1 in operation updateUser1 has an invalid body name updateUser. It must be updateUser1
You can go into the source code generated, Reference.cs, and look for the partial class definition of updateUserRequest1:
[System.ServiceModel.MessageContractAttribute(WrapperName="updateUser",
WrapperNamespace="urn:http.service.portal.liferay.com", IsWrapped=true)]
public partial class updateUserRequest1 {
and change the WrapperName value to "updateUser1":
[System.ServiceModel.MessageContractAttribute(WrapperName="updateUser1",
WrapperNamespace="urn:http.service.portal.liferay.com", IsWrapped=true)]
public partial class updateUserRequest1 {
This will get you past that issue. There is another problem in the generated proxy class for the UserService, but it can be fixed in the same way.
I ran into a couple of other gotchas beyond this, so created this blog post. There s a link there to a full VS2010 .Net solution if you need it. Good luck.