The retired generals who criticized Rumsfeld were outside the chain of command, responsible to nobody but themselves. As long as they don't claim to speak as representatives of active duty officers, they have the same First Amendment rights as abybody else and no duty of obedience to offset it.
McChrystal is on active duty. His obligation is to serve the Commander in Chief by giving the best possible advice and then carrying out his orders. His only other superior is Congress, and he has an obligation to give them the best available advice and information when asked, as Shinseki did in the runup to the Iraq War. Neither he nor any other serving officer has the right to appeal over the heads of his civilian superiors to the general public in order to put pressure on them, as both MacArthur and McClellan tried to do. Down that road -- a long way down, to be sure -- lies a banana republic where the opinion of the officer corps is factor in politics.
Until proven otherwise, I'm willing to give McChrystal individually the benefit of the doubt and assume that he didn't realize the political consequences of what he said in London.