The general did not cross over the line. He said he would argue against war with Iran and not make preparation for it if it's still in discussion stage. But if it became an order, he would resign. This is completely in line with proper military conduct. You make your opinion loud and clear when the issue is been debated, and you follow your order when it's no longer debated. If your conscience is against the natural of the order, you resign instead of disobeying the order.