Информация: я использую Spring-w 1.5.9 и Spring 2.5.6
В настоящее время я занимаюсь сборкой большого количества веб-сервисов и у меня есть несколько вопросов относительно того, какой должна быть архитектура.
Сейчас у меня есть один веб-сервис. Он (конечно) содержит один wsdl и одну конечную точку и т. Д.
В настоящее время я расширяю веб-сервис, и там я создал еще один xsd, код автоматического генерирования с использованием JAXB2 (xjc) и т. Д.
Теперь, как мне обращаться с этими xsds, 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 веб-сервисов, таким образом, большой WSDL.
Как насчет конечных точек? Должен ли я создать единую конечную точку и проверить тип запроса (например, используя instanceof)? Я сам считаю, что сопоставление одной конечной точки одному запросу более элегантно / чисто.
Наконец, как насчет сортировки? У меня есть это (с одной WS / схема):
<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>
Надеюсь, это имеет смысл. Я стремлюсь к указателям и подсказкам относительно того, что мне следует делать.