【问题标题】:Does Spring 3.0 provides a service definition file?Spring 3.0 是否提供服务定义文件?
【发布时间】:2010-08-27 07:06:59
【问题描述】:

我想知道Spring 3.0在我定义服务后是否提供了一个自动生成的服务定义页面。

使用 SOAP,我们有一个 WSDL 文件,其中包含我们可以调用服务的内容、方式和位置。

Spring 3.0 是否可以做到这一点?

【问题讨论】:

  • 不清楚你的意思。你能举个例子吗?
  • 假设我们有几个模块和很多服务。有没有一种现有的方法可以将所有这些 @RequestMapping 注释收集到一个页面上,让我对我的服务有一个完整的概述。我想知道所有现有的 urlmappings 及其请求参数。
  • 我也在寻找一种显示所有 URL 处理程序映射的方法,就像 Rail 的“rake routes”一样。

标签: java web-services spring spring-mvc wsdl


【解决方案1】:

是的。只需将“?WSDL”添加到 Spring 生成的 Web 服务的 URL,您就会得到定义。您也可以改为附加“?xsd=1”,然后您将获得所需的架构(这也从 WSDL 中引用)。

【讨论】:

    【解决方案2】:

    您可以使用 MBeanExporter 通过 JMX 公开所有服务,这些服务可以通过容器(IE Tomcat、Jboss 等)上的 JMX 仪表板查看。这是解释“部署的内容”的一种简单方法。不过,您的问题并不完全清楚您正在寻找什么样的工件。

    <bean id="exporter" class="org.springframework.jmx.export.MBeanExporter">
         <property name="autodetect" value="true"/>
    </bean>
    

    将自动将您定义的所有 bean 导出为 MBean。通常这并不完全是您想要的,因此您也可以手动指定它们。

     <bean id="exporter" class="org.springframework.jmx.export.MBeanExporter">
        <property name="beans">
           <map>
             <entry key="bean:name=testBean1" value-ref="testBean"/>
           </map>
        </property>
     </bean>
    

    【讨论】:

      【解决方案3】:

      我同意 Chochos

      这些[?wsdl, ?xsd=N] 是查找服务定义文件和 wsdl 中定义的任何 Datacontract 的通用标准.

      示例:

      如果http://localhost:8080/MyService 是您的服务端点,那么服务容器有责任在http://localhost:8080/MyService 提供WSDl, 默认情况下。

      【讨论】:

        【解决方案4】:

        答案是肯定的,

        在消息调度程序 spring 上下文文件中使用标记。

        如果您的消息调度程序 bean id 是 spring-ws,那么它的 spring 上下文文件将是 spring-ws-servlet.xml。

        在那个上下文文件中,

        导入命名空间http://www.springframework.org/schema/web-services/web-services-2.0.xsd

        xmlns:sws="http://www.springframework.org/schema/web-services"。

        然后使用此命名空间中的标签 dynamic-wsdl。

        此外,您还可以为其设置属性,例如 portType、binding 和 id。这将为您生成 wsdl 文件。在浏览器中查询即可查看

        /.wsdl

        【讨论】:

          猜你喜欢
          • 2016-10-26
          • 1970-01-01
          • 1970-01-01
          • 2016-07-26
          • 1970-01-01
          • 2014-08-17
          • 1970-01-01
          • 2016-02-19
          • 1970-01-01
          相关资源
          最近更新 更多