WSDL导入';地点';属性-vs-XSD导入';方案定位';属性

WSDL导入';地点';属性-vs-XSD导入';方案定位';属性,xsd,wsdl,jax-ws,wsimport,Xsd,Wsdl,Jax Ws,Wsimport,以下两者之间的关系是什么: 中的导入元素 -及- 导入中的元素和 。。。特别是前者的位置属性和后者的模式位置属性之间的关系 虽然我可以使用一个文件(在JAX-WS/wsimport工具链中)来“覆盖”xsd:import元素的schemaLocation属性,但对于wsdl:import语句的位置属性,我似乎做不到同样的事情,导入在文档(即WSDL或XSD)和外部资源之间建立关系 除非围绕着wsdl:import的混淆,特别是如果它可以用来导入XSD或不导入XSD(在它不应该),它们都意味着

以下两者之间的关系是什么:

  • 中的
    导入
    元素

    -及-

  • 导入中的
    元素和

。。。特别是前者的
位置
属性和后者的
模式位置
属性之间的关系


虽然我可以使用一个文件(在JAX-WS/
wsimport
工具链中)来“覆盖”
xsd:import
元素的
schemaLocation
属性,但对于
wsdl:import
语句的
位置
属性,我似乎做不到同样的事情,导入
在文档(即WSDL或XSD)和外部资源之间建立关系

除非围绕着wsdl:import的混淆,特别是如果它可以用来导入XSD或不导入XSD(在它不应该),它们都意味着为自己的类型做相同的事情,即在范围中引入另一个wsdl(在wsdl的情况下)或另一个XSD(在XSD的情况下)定义,因此允许采用模块化的创作方法

您所指的属性是等价的,就像Java中的
import
或多或少地与C#中的
匹配一样

但是,如果您考虑WSDL 1.1注释,则每一个的细节都是不同的:在XSD中,对于XSD:IMPORT,<强> > StutalOcths/Stime>属性是可选的(因为导入的位置可以通过它的命名空间通过使用规范所允许的其他方法来解决),对于位置属性,未在中内置相同的属性

此外,XSD规范明确允许覆盖:

schemaLocation的·实际值·如果存在,会给出**提示**关于·schema文档·的序列化在哪里…

如果您查找,您会注意到,现在除了旧的导入之外,WSDL还支持一个包含,基本上遵循与指令关联的名称空间相关的相同语义。更重要的是,location属性的使用也与XSD中的一致,这反过来应该促进基于目录的方法来解决“悬空”导入

总而言之,考虑到WSDL1.1中的强制性位置属性,谈论目录或覆盖是没有意义的,因为注释中没有暗示或允许它