我正在学习SOAP Web服务,并且对Web服务真的很陌生。在WSDL中,我targetNamespace
对定义中的元素和namespace
包含的元素感到有些困惑xsd:schema
。
<definitions .... targetNamespace=" " >
<xsd:schema>
<xsd:import namespace=" " schemaLocation=""/>
</xsd:schema>
这两个元素是什么意思,我在网络上搜索了许多文章,但我无法清楚地识别出这一点。有人可以解释一下吗?
这两个值是否相同?
WSDL文件中的目标名称空间将是与SOAP服务本身关联的名称空间。例如,我们有一个客户服务,名称空间将类似于http://www.acme.com/Customer/V1/CustomerService
。
XSD导入部分是您在其中指定要导入的XSD的名称空间的地方。XSD文件将包含服务将发送的数据,即它包含将被序列化为XML并作为请求和响应上下发送的对象定义。XSD还可以包含WSDL将公开的操作。
WSDL可以导入一个或多个XSD文件,并且每个XSD都有自己的名称空间。XSD将包含一个名称空间,例如:
http://www.acme.com/Customer/V1/GetCustomerRequest
对于GetCustomerRequest,这将定义GetCustomerRequest操作的数据结构。http://www.acme.com/Customer/V1/CustomerObject
对于CustomerObject,这将定义CustomerObject的数据结构。命名空间有点像Java包,它们只允许您定义对象的层次结构。要了解的一件事很重要,例如您可能有两个Customer对象,一个属于您的销售系统,另一个属于您的CRM系统。通过将它们放置在单独的名称空间中,只要它们具有唯一的名称空间,就可以在同一服务中使用这两个Customer对象。
通常,这些名称空间也将构成SOA目录的一部分,对其进行定义将成为您的SOA治理标准的一部分。如果您想成功进行SOA,那么它们很重要。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句