Warner was born on 8 May 1812 in
Columbia County, New York. He attended
West Point, entering the school in July 1831 and graduating on 1 July 1836. Warner graduated from West Point, tenth in a class of 49 cadets. Upon graduation, he was commissioned as a
second lieutenant and assigned to the United States Army's
1st Regiment of Artillery. As a second lieutenant, Warner served in the
Second Seminole War from mid-1836 until 1838. He was then assigned to help oversee the movement of the
Cherokee Nation to the west. On 7 July 1838, Warner was appointed to the Corps of Topographic Engineers, retaining his rank of second lieutenant. As a topographic engineer officer, Warner was placed in charge of a project to improve the harbor at
New Bedford,
Massachusetts. He led that effort until 1839, when he was directed to survey of
Sackets Harbor in New York. Later that year, Warner was sent back to
Florida to support action in the ongoing war with the
Seminole people. Then in 1840, Warner was directed to survey the
Detroit River in
Michigan. He finished that assignment in 1841. On 1 September 1841, he was promoted to
first lieutenant in the Corps of Topographical Engineers. After his promotion, Warner was sent to do a reconnaissance of the approaches to
New Orleans in
Louisiana. After completing that job in 1842, he was assigned to conduct a general survey of
Lake Michigan and make recommendations for improving harbors around the lake. That effort lasted into 1843. Warner was then directed to conduct a survey of the
Ohio River near
Pittsburgh, Pennsylvania. After finishing that project in 1845, Warner was sent to survey the boundary between the United States and the British provinces of
Canada. Warner was actively engaged in the
Mexican–American War. He was assigned to
Brigadier General Stephen W. Kearny's California expedition. On 6 December 1846, Warner participated in the
Battle of San Pasqual, where he was wounded. After the battle, he was recognized for gallantry in the field and promoted to
Brevet Captain. == California ==