EFD-REINF 2.01.02集成异常:XML xmlns缺失报错求助
解决EFD-REINF 2.01.02版本提交XML时的MS0055错误
MS0055错误的核心原因是提交的XML根节点<Reinf>缺少必填的命名空间属性,以下是针对性的排查和修复步骤:
- 先确认实际发送的XML内容:别只看生成逻辑,直接抓包或者从日志里导出提交的原始XML,检查
<Reinf>节点是否带有类似xmlns="http://www.reinf.esocial.gov.br/schemas/[对应事件类型]/v2_01_02"的属性。很多Java序列化框架(比如JAXB)如果配置不当,会自动丢掉命名空间。 - 修正XML生成逻辑:
- 若用JAXB,在根实体类上添加对应版本的命名空间注解:
@XmlRootElement(namespace = "http://www.reinf.esocial.gov.br/schemas/evtTotal/v2_01_02")(注意替换成你实际提交的事件类型对应的命名空间,不同事件的命名空间URL不同,务必匹配2.01.02版本) - 若手动拼接XML,直接在根节点写入命名空间,比如
<Reinf xmlns="http://www.reinf.esocial.gov.br/schemas/evtInfoEmpregador/v2_01_02">,不要把命名空间放到子节点。
- 若用JAXB,在根实体类上添加对应版本的命名空间注解:
- 排查签名工具的影响:如果用了签名组件(比如Apache Santuario),确保是先生成完整带命名空间的XML,再执行签名操作。有些签名工具会重新序列化XML,导致命名空间丢失,测试时可以先跳过签名(若允许)提交,看是否还报MS0055,以此定位问题。
- 用官方XSD校验XML:别只依赖XLSX文档,直接下载EFD-REINF 2.01.02版本对应的XSD文件,用
xmllint或其他XML校验工具验证,XSD会严格校验命名空间的必填性,比XLSX的规则更准确。
内容的提问来源于stack exchange,提问作者Jorge Ruediger
相关产品推荐
相关产品推荐

