java - 错误: org. xml.sax.SAXParseException : cvc-complex-type. 2.3

标签 java xml web-services xsd

我只是使用“umashall” - XSD 验证:

      <xs:complexType>
        <xs:sequence maxOccurs="50">
          <xs:element name="docZip">
            <xs:annotation>
              <xs:documentation>Informação resumida ou documento fiscal eletrônico de interesse da pessoa ou empresa. O conteúdo desta tag estará compactado no padrão gZip. O tipo do campo é base64Binary.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:any processContents="skip">
                  <xs:annotation>
                    <xs:documentation>Estrutura genérica do documento fiscal eletrônico</xs:documentation>
                  </xs:annotation>
                </xs:any>
              </xs:sequence>
              <xs:attribute name="NSU" type="TNSU" use="required">
                <xs:annotation>
                  <xs:documentation>NSU do documento fiscal</xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <xs:attribute name="schema" type="xs:string" use="required">
                <xs:annotation>
                  <xs:documentation>Identificação do Schema XML que será utilizado para validar o XML existente no campo seguinte. Vai identificar o tipo do documento e sua versão. Exemplos: resNFe_v1.00.xsd, procNFe_v3.10.xsd, resEvento_1.00.xsd, procEventoNFe_v1.00.xsd</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:complexType>

我有一个异常(exception):

[org.xml.sax.SAXParseException: cvc-complex-type.2.3: Element 'docZip' cannot have character [children], because the type's content type is element-only.]

有人知道这是怎么回事吗?

最佳答案

看起来,当您尝试解码使用上述 xsd服务响应或请求 xml 时,该 xml 具有 'docZip' 元素中包含一些文本,其他文本包含它的子元素。如下图。

<docZip>
    Text which is not allowed
    <childElement>
    </chilElement>
</docip>

这就是 xsd 验证失败的原因。因此,捕获实际的 xml 并查看 docZip 元素内是否没有直接文本

有关此错误的更多详细信息,请参阅 this链接

关于java - 错误: org. xml.sax.SAXParseException : cvc-complex-type. 2.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30810825/

相关文章:

java - 为什么在转换为 XML 时对 JSON 内容属性进行特殊处理?

java - 用于搜索屏幕的 Hibernate 自定义查询

java - 尝试在空对象引用上调用虚拟方法 'int java.util.Random.nextInt(int)' [Android]

java - 如何使用 Spring 的 JaxWsPortProxyFactoryBean 忽略无效的 xml 响应

java - 如何解析 xml 元素节点 susing pig 脚本?

c# - 使用 POST 方法调用 webservice(asmx)

java - Android Studio - 为什么 ActionBar 总是显示,即使在完全禁用时也是如此?

Android Lint : Unused Resource Warning Not Going Away

java - 构建快速的网络服务

jquery - 使用 Jquery AJAX 从 ASP.NET Web 服务器获取对象