我正在使用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>
我的问题是为什么’元素’出现在元素声明中?例如:
< xs:element name =“getTimeAsElapsed”type =“tns:getTimeAsElapsed”/>
我没有看到’tns’被声明为命名空间前缀的模式文件,架构文档只是以
- <xs:schema version="1.0" targetNamespace="http://ts.ch01/">
那么为什么在引用其他元素时出现’tns’?这是由JAX-WS生成的XML模式的默认行为吗?
根据w3,tns表示“这个命名空间”,参考当前文档.