为何无法以HTTPS方式引用XMLSchema?
问题分析与解决方案
为什么修改命名空间为HTTPS后无法验证
XML Schema的命名空间是W3C规定的固定字符串标识符,XSD的官方命名空间就是http://www.w3.org/2001/XMLSchema——验证器是通过匹配这个字符串来识别标准XSD语法的,和这个URL实际能不能用HTTPS访问没有关系。哪怕你把链接改成HTTPS,字符串不匹配,验证器也不会认为这是标准的XSD命名空间,自然无法通过验证。
可行的解决办法
不需要修改命名空间本身,而是解决系统无法访问HTTP资源的问题,以下是几种实操方案:
本地缓存XSD文件并映射
- 下载
http://www.w3.org/2001/XMLSchema对应的官方XSD文件到本地 - 在XMLSpy中配置目录映射:将命名空间
http://www.w3.org/2001/XMLSchema映射到本地保存的XMLSchema.xsd文件路径。这样验证器会直接读取本地文件,不会发起远程HTTP请求。
- 下载
配置XMLSpy的本地缓存选项
检查XMLSpy的验证设置,通常会有“启用本地Schema缓存”或者“优先使用本地资源”的选项,开启后软件会自动缓存常用的标准XSD文件,无需手动下载。使用内部HTTPS镜像(如果有条件)
若企业内部有HTTPS镜像服务器,将W3C的XSD文件同步到内部服务器,然后通过XMLSpy的网络设置,让验证器指向内部镜像地址获取资源,避免直接访问外部HTTP链接。
内容的提问来源于stack exchange,提问作者ArcticDoom
相关产品推荐
相关产品推荐

