【问题标题】:java.lang.IllegalArgumentException: No SchemaFactory that implements the schema language specifiedjava.lang.IllegalArgumentException:没有实现指定模式语言的 SchemaFactory
【发布时间】:2014-04-27 01:18:53
【问题描述】:

我收到以下异常:

java.lang.IllegalArgumentException:没有实现由 http://www.w3.org/2001/XMLSchema-instance 指定的模式语言的 SchemaFactory 可以加载 在 javax.xml.validation.SchemaFactory.newInstance(SchemaFactory.java:204) 在 MAIN.SchemaImport3.validateXMLSchema(SchemaImport3.java:74) 在 MAIN.SchemaImport3.main(SchemaImport3.java:62)

这是我的代码:

URL source;
source = new URL(schemaList.getDocumentBaseURI());
SchemaFactory factory = SchemaFactory.newInstance(
                         XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI);

【问题讨论】:

    标签: java xml wsdl schema


    【解决方案1】:

    使用XMLConstants.W3C_XML_SCHEMA_NS_URI:

    SchemaFactory factory = SchemaFactory.newInstance( 
        XMLConstants.W3C_XML_SCHEMA_NS_URI 
    );
    

    URI“http://www.w3.org/2001/XMLSchema-instance”(XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI 的值)本身并不是一种 XML 模式语言,而是 XML 模式的一个属性(或特性,或附加机制,如果您愿意的话)。

    W3C XML Schema 的正确名称是“http://www.w3.org/2001/XMLSchema”(XMLConstants.W3C_XML_SCHEMA_NS_URI 的值)。

    【讨论】:

    • 我想强调的是,使用 http://www.w3.org/2001/XMLSchema 可用于 http 但不适用于 https
    猜你喜欢
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 2022-07-22
    • 2014-04-21
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    • 2023-02-14
    相关资源
    最近更新 更多