XML urn:#不是anyURI的有效值

时间:2009-11-02 11:42:01

标签: xml xsd

我在wsdl文件上遇到了一些麻烦,在SONIC Workbench上不接受,而在Oracle JDev和SOAP UI上是可以容忍的。 解析器基本上声称如下:

例外:

org.xml.sax.SAXException:错误:cvc-datatype-valid.1.2.1:'urn:#ApproveAccumulatedProvisioningRolesSoap'不是'anyURI'的有效值。

at org.wsi.xml.XMLUtils $ ErrHandler.error(Unknown Source) ....

据我所知,这个骨灰盒:#是原因。任何人都可以告诉我在哪里可以找到有关这种语法的更多信息,最终我可以解决它。

提前致谢。 亚历山德罗·伊拉多

3 个答案:

答案 0 :(得分:2)

试试这个:

urn://#ApproveAccumulatedProvisioningRolesSoap

答案 1 :(得分:0)

请注意,根据rfc2396,冒号字符在URI格式中保留。您获得的SAXException是一个验证异常,它可能是Oracle JDev和SOAP UI跳过URI的验证,而SONIC Workbench却没有。

散列(或尖锐)字符是URI和片段之间的分隔符,并且在URI语法中是不允许的。这可能更有可能是验证异常的原因。如果您有权访问xml验证的模式,我建议您使用例如运行自己的验证。 xmllint或类似的XML工具。

答案 2 :(得分:0)

如果使用xjc编译器,可以添加-nv attr以关闭xsd方案的严格验证。