【发布时间】:2011-10-13 06:48:32
【问题描述】:
信息:我正在使用 Spring-ws 1.5.9 和 Spring 2.5.6
我目前正在构建大量 Web 服务,并且对架构应该如何提出一些问题。
现在我只有一个网络服务。它(当然)包含一个 wsdl 和一个端点等等。
我目前正在扩展 Web 服务,并在那里创建了另一个 xsd、使用 JAXB2 (xjc) 等的自动生成代码。
现在,我应该如何处理这些 xsd、wsdl(s)、代码等等?我看不到 Spring-ws 的推荐...
我的架构师想要一个单一的 wsdl,可以使用以下方式实现:
<bean id="schemaCollection" class="org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection">
<property name="xsds">
<list>
<value>one.xsd</value>
<value>two.xsd</value>
</list>
</property>
<property name="inline" value="true"/>
这是一个好方法吗?我最终会得到 10-15 个 Web 服务,因此是一个大型 wsdl。
端点呢?我应该创建一个端点并测试请求的类型(例如使用 instanceof)吗?我自己认为将一个端点映射到一个请求更优雅/干净。
最后,编组呢?我有这个(有一个 ws/schema):
<oxm:jaxb2-marshaller id="marshaller" contextPath="mydomain.signals.one.v1_0.schemas"/>
<oxm:jaxb2-marshaller id="unmarshaller" contextPath="mydomain.signals.v1_0.schemas"/>
但是,我应该如何为此添加另一个架构?我正在尝试类似以下的方法,但现在似乎对我不起作用:
<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="contextPaths">
<list>
<value>mydomain.signals.one.v1_0.schemas</value>
<value>mydomain.signals.two.v1_0.schemas</value>
</list>
</property>
</bean>
我希望这是有道理的。我的目标是关于我应该做什么的指针和提示。
【问题讨论】:
标签: xsd wsdl spring-ws endpoint