Солдат тоже воюет, воин тоже служит, но есть разница между "солдат сражается" и "воин сражается", между "воин служит" и "солдат служит". Смысловые тонкости, оттенки значений. А так воин может не воевать: "наши доблестные воины стоят на страже границы!" Солдат может воевать, тут любой пример сойдёт.