SOAP主体自动生成的命名空间
我必须对单个功能soapwebservice进行一些支持,但我无法理解WSDL文件的一个特定方面&SoapUI生成的SOAP请求 此服务的WSDL在定义部分指定了targetNamespace(SOAP主体自动生成的命名空间,soap,xsd,soapui,xml-namespaces,Soap,Xsd,Soapui,Xml Namespaces,我必须对单个功能soapwebservice进行一些支持,但我无法理解WSDL文件的一个特定方面&SoapUI生成的SOAP请求 此服务的WSDL在定义部分指定了targetNamespace(targetNamespace=“tetra river common types/trafficinfo”)。 如果我将WSDL文件加载到SoapUI中,它可以很好地读取所有内容;任何定义都没有问题。此服务的类型在单个外部架构文件中定义,WSDL文件中具有以下定义: <wsdl:types>
targetNamespace=“tetra river common types/trafficinfo
”)。
如果我将WSDL文件加载到SoapUI中,它可以很好地读取所有内容;任何定义都没有问题。此服务的类型在单个外部架构文件中定义,WSDL文件中具有以下定义:
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="tetra-river-common-types" schemaLocation="tetra-river-interface.xsd" />
</xsd:schema>
</wsdl:types>
但是,在将WSDL文件加载到SoapUI中并打开自动生成的请求后,将显示以下内容:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tet="tetra-river-common-types">
<soapenv:Header/>
<soapenv:Body>
<tet:TrafficInformation>
<tet:Item1>?</tet:Item1>
<!-- several other items with the tet: namespace prefixed -->
</tet:TrafficInformation>
</soapenv:Body>
</soapenv:Envelope>
?
我的问题是:SoapUI如何确定tet:
名称空间?我在WSDL文件或XSD文件中都没有提到它。我假设它使用targetNamespace的前3个字符,但我不确定。
我面临的问题是,Web服务本身需要这条确切的消息,但名称空间是
tetra:
。如果您看到wsdl,则名称空间的导入如下所示:
namespace="tetra-river-common-types"
如果您在soapUI中看到该请求,则在第一行中具有相同的名称空间,前缀为tet
,即
xmlns:tet="tetra-river-common-types"
因此,各个请求元素的前缀是tet
在引用同一名称空间时,前缀是什么并不重要
有关名称空间的详细信息,请参见