powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Apache CXF или Spring-WS
9 сообщений из 9, страница 1 из 1
Apache CXF или Spring-WS
    #38169501
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что выбрать для Spring приложения, чтобы сделать во-первых клиента для SOAP сервиса, а затем и поднять сам SOAP сервис - Apache CXF или Sprong-WS? Какие тут есть prons and cons?
...
Рейтинг: 0 / 0
Apache CXF или Spring-WS
    #38169538
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Spring-WS подкупает тем что можно сделать практически что угодно, минимальным лаконичным кодом. У нас был сервис с асинхронными колбэками, шифрованием, подписью и таймштампом. И это всё умещалось в один конфиг и пару простых классов.
Напрягает contract first и конфликты с Java 6.

CXF не пробовал. По идее, ни чем не хуже должен быть.
...
Рейтинг: 0 / 0
Apache CXF или Spring-WS
    #38169566
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
contract first - это значит вначале создается WSDL и на ее базе генериться Java код, и высылается эта WSDL для создания клиента.
А contract last - это сначала сделали Java код, а потом сгенерировали на его базе wsdl и выслали тому, кто клиента делает.
Вроде этого?

Здесь написано
http://static.springsource.org/spring-ws/sites/1.5/reference/html/why-contract-first.html
contract-first это хорошо.
Чем напрягает?

Ну и такой вопрос - клиента при помощи Spring-WS наверное тоже можно запустить быстро? И можно ли, чтобы этот клиент использовал Castor для обработки xml?

Спасибо.
...
Рейтинг: 0 / 0
Apache CXF или Spring-WS
    #38169578
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
osonЧем напрягает?

Это в теории хорошо и правильно. На практике иногда пофиг на контракт, хочется для готовых классов заиметь XSD и WSDL.

osonНу и такой вопрос - клиента при помощи Spring-WS наверное тоже можно запустить быстро? И можно ли, чтобы этот клиент использовал Castor для обработки xml?
Да, там любой маршалинг прикручивается. Только в чем глубокий смысл именно Castor?
...
Рейтинг: 0 / 0
Apache CXF или Spring-WS
    #38169655
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну у меня уже работает REST сервис.
В конфигурационном файле подключен Castor в таком виде

restfull-context:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<beans>
<mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>
            <bean class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter">
                <property name="marshaller" ref="castorMarshaller"/>
                <property name="unmarshaller" ref="castorMarshaller"/>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

    <context:component-scan base-package="my.controller"/>

    <bean id="castorMarshaller" class="org.springframework.oxm.castor.CastorMarshaller">
        <property name="mappingLocations">
            <list>
                <value>
                    classpath:oxm-mapping.xml
                </value>
             </list>
        </property>
    </bean>

</beans>



oxm-mapping примерно такой

<?xml version="1.0"?>
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<mapping xmlns="http://castor.exolab.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://castor.exolab.org/ http://www.castor.org/mapping.xsd">

    <class name="my.PersonEnvelop">
        <map-to xml="person-envelop"/>
        <field name="persons" type="my.Person" collection="arraylist">
            <bind-xml name="person" node="element"/>
        </field>
      
    </class>

    <class name="my.PersonEnvelop">
        <map-to xml="person"/>
        <field name="name" type="string">
            <bind-xml name="name" node="element"/>
        </field>
      ....
    </class>

</mapping>



Поэтому в таком стиле хотелось бы запустить и SOAP клиента.
...
Рейтинг: 0 / 0
Apache CXF или Spring-WS
    #38170190
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не могу понять - вот опубликовал чел SOAP сервис. Он должен мне как то передать эти самые wsdl или как?
...
Рейтинг: 0 / 0
Apache CXF или Spring-WS
    #38170250
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите хороший пример в сети SOAP клиента на Spring-WS.
...
Рейтинг: 0 / 0
Apache CXF или Spring-WS
    #38170324
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
osonЧто выбрать для Spring приложения, чтобы сделать во-первых клиента для SOAP сервиса, а затем и поднять сам SOAP сервис - Apache CXF или Sprong-WS? Какие тут есть prons and cons?
Плотно работаю с Apache CXF. Не могу сказать, что мы используем его по полной, но в целом очень приятно. Используем мы его тоже через contract first. Это реально уныло. Схема у нас такая:
Код: plaintext
wsdl -- [wsdl2java] --> Java -- [CXF/JAXB] --> wsdl (для клиентов).

Т.е. мы генерируем по wsdl классы на java, а потом по ним CXF строит wsdl. В результате клиенты в исходный wsdl вообще не лезут.

Смотрел на Spring-WS смотрел, но как-то не порадовал. Вроде бы не получилось сделать как раз ту связку, что я описал выше. Получалось так:
wsdl -> Java, а в качестве wsdl для клиентов указывается исходный файл. А мне это чем-то не понравилось.

И еще раз повторюсь - contract first иногда даже мешает. Например, добится, чтобы контракта java методов генерировались именно так как мне надо, по началу занимало довольно много времени. Потом вы выработали стандартный единый подход (очень многословный, кстати) и стали прерживаться его.
...
Рейтинг: 0 / 0
Apache CXF или Spring-WS
    #38170362
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если уже есть wsdl схема - какая последовательность в создании клиента?
Посмотрел эту статью http://mf9it.wordpress.com/2009/10/30/spring-ws-consumer-with-wsdl/
там используется XJC чтобы сгенерировать классы на базе этой wsdl, которые будут потом подаваться для Jaxb.
Ну а зачем тогда утилита wsdl2java?
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Apache CXF или Spring-WS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]