Java 如何为同一SpringWS项目中的不同服务定义单独的wsdl?

Java 如何为同一SpringWS项目中的不同服务定义单独的wsdl?,java,spring,web-services,wsdl,Java,Spring,Web Services,Wsdl,我是Spring-WS的新手,所以我正在寻找一些关于SpringWeb服务的建议 我正在尝试为我的公司产品创建web服务。针对两个不同的目标有两套服务。但是我不想创建两个不同的项目,因为我不想将2*.war传递给客户机,而且在较低的级别上有很多相互依赖性 因此,我想要一些关于如何生成两个(或多个)WSDL文件的建议/建议。因此,可以从不同的位置访问这两个不同的WSDL文件 我尝试只使用一个servlet,创建并绑定其中的所有bean(springwservlet.xml),并尝试创建两个不同的动

我是Spring-WS的新手,所以我正在寻找一些关于SpringWeb服务的建议

我正在尝试为我的公司产品创建web服务。针对两个不同的目标有两套服务。但是我不想创建两个不同的项目,因为我不想将2*.war传递给客户机,而且在较低的级别上有很多相互依赖性

因此,我想要一些关于如何生成两个(或多个)WSDL文件的建议/建议。因此,可以从不同的位置访问这两个不同的WSDL文件

我尝试只使用一个servlet,创建并绑定其中的所有bean(springwservlet.xml),并尝试创建两个不同的动态wsdl(我创建了两个不同的模式文件,并为“模式”设置了不同的值)。但它不起作用

那么,有谁能指导我哪种方式在架构上更好,并且符合最佳实践

提前感谢,


现在,我想知道实现这一目标的最佳方式是什么。我应该在web.xml中定义两个不同的servlet并创建两组映射,还是简单地在*-servlet.xml(spring映射文件)中定义两个生成不同wsdl的bean,如果是,那么如何创建,从而只创建一组映射。

最简单的,我猜这是一个乏味的方法,但我所做的是为一个不同的1+服务添加了一个新bean;我称之为wiring配置文件(也称为application.xml,spring config.xml)

这就是我所拥有的:

<bean id="SmallBusinessAccount" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition" lazy-init="true">
    <property name="schemaCollection">
        <bean class="org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection">
            <property name="inline" value="true" />
            <property name="xsds">
                <list>
                    <value>schemas/SmallBusinessAccountSerivceOperations.xsd</value>
                </list>
            </property>
        </bean>
    </property>
    <property name="portTypeName" value="SmallBusinessAccountService"/>
    <property name="serviceName" value="SmallBusinessAccountServices" />
    <property name="locationUri" value="/endpoints"/>
</bean>

<bean id="CreditManagement" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition" lazy-init="true">
    <property name="schemaCollection">
        <bean class="org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection">
            <property name="inline" value="true" />
            <property name="xsds">
                <list>
                    <value>schemas/CreditManagementServiceOperations.xsd</value>
                </list>
            </property>
        </bean>
    </property>
    <property name="portTypeName" value="CreditManagementService"/>
    <property name="serviceName" value="CreditManagementServices" />
    <property name="locationUri" value="/endpoints"/>
</bean>

schemas/SmallBusinessAccountSerivceOperations.xsd
schemas/CreditManagementServiceOperations.xsd
这将为同一项目中的不同服务实现生成不同的WSDL


我不知道是否有更好的方法;类似于将服务列表注入到单个bean,该bean为这些服务中的每一个生成独立的wsdl

我正在寻找解决相同pb的方法。。。关键是上面的命题是关于生成wsdl的,而不是用于管理Web服务的端点上的servlet映射。