58.9. 控制命名空间前缀映射


使用 JAXBSOAP 总结时,JAXB 实施将自动分配命名空间前缀,如 ns2、ns3、ns4 等。要控制此映射,Camel 允许您引用包含所需映射的映射。

请注意,这需要在 classpath 上具有 JAXB-RI 2.1 或更高(来自 SUN),因为映射功能取决于 JAXB 的实施,无论其是否受支持。

例如,在 Spring XML 中,可以使用 映射定义映射。在下面的映射文件中,我们映射了 SOAP 使其使用 soap 作为前缀。虽然我们的自定义命名空间 "http://www.mycompany.com/foo/2" 不使用任何前缀。

  <util:map id="myMap">
    <entry key="http://www.w3.org/2003/05/soap-envelope" value="soap"/>
    <!-- we dont want any prefix for our namespace -->
    <entry key="http://www.mycompany.com/foo/2" value=""/>
  </util:map>

要在 JAXBSOAP 中使用它,请参考这个映射,使用 namespacePrefixRef 属性,如下所示。然后,Camel 会在 Registry 中查找 java.util.Map,其 ID 为 "myMap",这是我们上方定义的。

  <marshal>
    <soapjaxb version="1.2" contextPath="com.mycompany.foo" namespacePrefixRef="myMap"/>
  </marshal>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.