Unfortunately, he probably did violate Military Laws
Carrying of Firearms and Use of Force for Law Enforcement and Security Duties
Guilty as charged. Suspended minimum sentence and payment of a token fine. Then change the law to fit the specific circumstances.
Servicemen in public areas are terrorist targets and there should be reasonable exemptions and latitude on soldiers bearing arms on US soil for purposes of self defense. You don't send unarmed soldiers into harms way.