Officials say Solo tested positive in a test on June 15. The 30-year-old has accepted the warning and will still play for the U.S. in the London Olympics.
"I took a medication prescribed by my personal doctor for pre-menstrual purposes that I did not know contained a diuretic," Solo said in a statement. "Once informed of this fact, I immediately cooperated with USADA and shared with them everything they needed to properly conclude that I made an honest mistake, and that the medication did not enhance my performance in any way."
Solo added that she believes in a "clean sport" and worked with the USADA to resolve the matter.
Considered one of the world's top keepers, she helped the Americans to a second-place finish in last year's World Cup. She was also a recent semifinalist on "Dancing With The Stars."
The Associated Press contributed to this report.