王先生在某制造公司工作,后因工作出色,公司与王先生签订了无固定期限的劳动合同。工作期间,公司安排王先生为期2个月的专业技术培训,双方签有三年的服务期协议。在服务期内王先生因个人原因,决定跳槽。王先生按照法律规定提前一个月向公司提交了书面辞职报告。接到辞职报告后,公司停止了王先生的工作。王先生多次要求公司办理退工手续,但公司认为王先生在服务期内,应当先按照服务期协议的规定支付违约金再办理退工手续。于是,王先生提出劳动仲裁,要求公司办理退工手续。王先生提前解除劳动合同是否合法?应当履行哪些法律规定义务?