Hudson has strong outing for Diamondbacks in win