对 SOAP 和 WSDL 来说还是很陌生,但我有几个简单的问题。我在我正在使用的 WSDL 文件中看到如下所示的部分,但命名空间
ns1
未在任何地方定义?元素 GetTransmissionSummary
已定义,但没有前缀 ns1
。所以我不太确定为什么 ns1
在那里和/或它是在哪里定义的?我知道像 tns
这样的一些前缀有特殊含义,但我找不到 ns1
的前缀。
<wsdl:message name="GetTransmissionSummary">
<wsdl:part element="ns1:GetTransmissionSummary" name="parameters"> </wsdl:part>
</wsdl:message>
此外,在
<wsdl:types>
部分中,所有元素都有前缀 xs
,这在 WSDL 文件中非常标准。 (<xs:element name="GetTransmissionSummary">
)但是,就像上面一样,我没有看到命名空间xs
在任何地方定义。我还看到没有 schemaLocation
的 import 语句,例如 <xs:import namespace="http://api.spp.org/schema/settlements/CommonReportSchema/v3"/>
,但我不明白这样的语句的目的。不过,WSDL 文件在 SoapUI 和 zeep 中工作正常,因此它不是损坏的文件。谁能解释这是怎么回事?谢谢!
好吧,这真的很愚蠢。我正在 Firefox 中查看 WSDL 文件,但由于我无法理解的原因,它没有显示名称空间定义。当我在 VS Code 或其他任何地方打开文件时,我可以看到它们,现在一切都有意义了。