【问题标题】:Transforming XSD Import for WSDL in Spring WS在 Spring WS 中为 WSDL 转换 XSD 导入
【发布时间】:2011-03-28 03:57:40
【问题描述】:

我正在尝试扩展 Spring WS 指南第 5 章中的示例。我正在使用 Spring WS 1.5.9。

我已经添加了...

<import namespace="http://myco.com/schemas/promotion/v1_2"
    schemaLocation="http://localhost:8080/ordersService/Promotion_1_2.xsd" /> ...

但是 spring 似乎并没有像对端口那样改变导入的位置。所以在我的公司网站上它仍然显示“localhost:8080”

我有这样定义的 WSDL 生成

<bean id="orders" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">
    <property name="schema" ref="schema" />
    <property name="portTypeName" value="Orders" />
    <property name="locationUri" value="http://localhost:8080/ordersService/" />

Spring 框架是否/可以以某种方式转换导入???

更新:更多背景知识....

我们使用相同的 XSD 和 maven JaxB2 插件来构建我们的响应模式对象。这一切都很好,我们使用目录解析器在包含的 JAR 文件中实际找到附加的业务域 XSD。我们有 100 个 XSD 来描述我们的业务领域。

所以我尽量不打破它。

我希望看到的是更详细的示例。使用 JaxB2 和 XSD -> WSDL 功能的示例。

我应该重构 XSD 吗? 我应该使用 WSDL 而不是 XSD 如何正确识别 XSD 到 spring ? 我是否使用“类路径:My_file.xsd”?我是否必须将可能 100 个 XSD 列出到 schemaCollection 中?

春季文档很棒,但我想要一个匹配的实际示例。

【问题讨论】:

  • Spring WS 2 已经发布,你现在应该真的使用它了。
  • 有一天。这是我正在努力塑造的现有开发,因此我可以迁移到 2.0

标签: import xsd wsdl transform spring-ws


【解决方案1】:

我想详细说明我们最终得到的解决方案。我们一直在迁移到 Spring WS 2x。这是一个更新的链接...

http://static.springsource.org/spring-ws/site/reference/html/server.html#server-automatic-wsdl-exposure

诀窍/关键在它说的那部分......“如果你想使用多个模式,无论是通过包含还是导入,你都会想要放置 Commons XMLSchema”

这就是将它添加到我们项目中的最终答案。

<dependency>
     <groupId>org.apache.ws.commons.schema</groupId>
     <artifactId>XmlSchema</artifactId>
     <version>1.4.7</version>
</dependency>

现在 spring 启用了额外的功能来允许类路径解析工作。

【讨论】:

  • +1 类似的东西为我修复了它,我添加了 org.apache.ws.xmlschema:xmlschema-core v2.0.2
  • 在使用 java 配置时,我还必须添加 commonsXsdSchemaCollection.setInline(true);
【解决方案2】:

Spring-WS 可以自动将所有模式元素直接内联到 WSDL 中,以便它们显示为单个文档。这样就避免了&lt;import&gt; URL 无法访问的问题。

请参阅 Spring WS 手册的 the section,其中讨论了 CommonsXsdSchemaCollection

【讨论】:

    猜你喜欢
    • 2010-12-03
    • 1970-01-01
    • 2012-08-20
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多