【问题标题】:tns appearing in Web Services schema出现在 Web 服务架构中的 tns
【发布时间】:2011-09-09 10:54:58
【问题描述】:

我正在使用 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”?例如:

&lt;xs:element name="getTimeAsElapsed" type="tns:getTimeAsElapsed"/&gt;

我没有看到将“tns”声明为命名空间前缀的架构文档,架构文档只是以

开头
<xs:schema version="1.0" targetNamespace="http://ts.ch01/">

那么为什么在引用其他元素时会出现“tns”?这是 JAX-WS 生成的 XML 模式的默认行为吗?

【问题讨论】:

  • 这里只是一个健全性检查(你的例子中的那些破折号让我怀疑):如果我在 Firefox 中查看一个 XML 文档(模式或其他),它会对文档进行一些样式设置,例如它删除命名空间声明。右键->查看页面源返回原来的
  • @Per,你是对的。我可以通过查看源代码来查看前缀和其他详细信息。当我打开 IE 时,我也可以看到所有其他命名空间声明......

标签: xml web-services wsdl xsd jax-ws


【解决方案1】:

根据 w3,tns 表示“此命名空间”,指的是当前文档。

来源:https://www.w3.org/TR/wsdl.html#_notational

【讨论】:

  • tns = 这个命名空间 (y)
  • tns = 目标命名空间
  • 链接文档中的任何位置均未出现“tns”或“此命名空间”。
  • @rkedge 是的,确实如此:““此命名空间”(tns)前缀用作引用当前文档的约定。”
  • @ScottBrickey 我发表评论时没有。该链接已于 3 月更新。我的评论现在已经过时了。
【解决方案2】:

您需要将整个 wsdl 文档视为一个大的 xml 文件。在这种情况下,使用在子元素的根元素(定义元素)处声明的命名空间前缀是有效的。

不需要在模式(模式元素)根元素中声明 tns 命名空间。但是,如果您将架构分开到一个文件中,那么您需要有 tns 前缀。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-11
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    相关资源
    最近更新 更多