【发布时间】:2019-08-28 10:50:44
【问题描述】:
在整个互联网上,我发现 JAX-WS bean 的代码示例是以这种方式定义的:
<jaxws:client name="{http://cxf.apache.org/}MyService" createdFromAPI="true">
这里的花括号到底是什么意思?
【问题讨论】:
在整个互联网上,我发现 JAX-WS bean 的代码示例是以这种方式定义的:
<jaxws:client name="{http://cxf.apache.org/}MyService" createdFromAPI="true">
这里的花括号到底是什么意思?
【问题讨论】:
您可能需要具体说明您在哪里见过它,但从您在此处分享的内容来看,这似乎是对该命名约定的错误使用。 看,the schema for the Spring-CXF XML configuration document 支持两种类型的“名称”属性:
name:使用它来命名 spring 上下文中的 bean - 对待它与将 id 添加到 spring bean 没有区别。无需命名空间或任何类型的前缀
serviceName:此名称应来自 WSDL,作为 definitions 根元素的 name 属性的一部分。 这个使用 QName 格式 - 您在此处所拥有的 {http://cxf.apache.org/}MyService CXF API 将尝试与您正在使用的 SOAP 服务的 WSDL 中的内容相匹配。
TL;DR: 带有 URL 前缀的命名约定不属于 name 属性,而是属于 serviceName 属性,其值应该来自 WSDL 文件。
【讨论】: