我正在使用JAX-WS运行一些示例Web服务。发布Web服务后,当我键入WSDL URL时,可以看到WSDL文档。 WSDL文档指的是这样的Schema文档:
<xs:schema version="1.0" targetNamespace="http://ts.ch01/">
<xs:element name="getTimeAsElapsed" type="tns:getTimeAsElapsed"/>
<xs:element name="getTimeAsElapsedResponse" type="tns:getTimeAsElapsedResponse"/>
<xs:element name="getTimeAsString" type="tns:getTimeAsString"/>
<xs:element name="getTimeAsStringResponse" type="tns:getTimeAsStringResponse"/>
−
<xs:complexType name="getTimeAsString">
<xs:sequence/>
</xs:complexType>
−
<xs:complexType name="getTimeAsStringResponse">
−
<xs:sequence>
<xs:element name="return" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="getTimeAsElapsed">
<xs:sequence/>
</xs:complexType>
−
<xs:complexType name="getTimeAsElapsedResponse">
−
<xs:sequence>
<xs:element name="return" type="xs:long"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
我的问题是,为什么'tns'出现在元素声明中?例如:
<xs:element name="getTimeAsElapsed" type="
tns: getTimeAsElapsed"/>
我无处不在架构文档中看到'tns'被声明为名称空间前缀,该架构文档仅以]开头
<xs:schema version="1.0" targetNamespace="http://ts.ch01/">
那么为什么在引用其他元素时出现“ tns”?这是JAX-WS生成的XML模式的默认行为吗?
我正在使用JAX-WS运行一些示例Web服务。发布Web服务后,当我键入WSDL URL时,可以看到WSDL文档。 WSDL文档指的是一个Schema文档,......>
按照w3,tns表示“此名称空间”,指的是当前文档。
您需要将整个wsdl文档视为一个大xml文件。在这种情况下,使用在子元素的根元素(定义元素)处声明的名称空间前缀有效。