我在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) ....
据我所知,这个骨灰盒:#是原因。任何人都可以告诉我在哪里可以找到有关这种语法的更多信息,最终我可以解决它。
提前致谢。 亚历山德罗·伊拉多
答案 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方案的严格验证。