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

CXF не пробовал. По идее, ни чем не хуже должен быть.
...
Рейтинг: 0 / 0
28.02.2013, 14:04:38
    #38169566
oson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apache CXF или Spring-WS
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
28.02.2013, 14:08:31
    #38169578
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apache CXF или Spring-WS
osonЧем напрягает?

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

osonНу и такой вопрос - клиента при помощи Spring-WS наверное тоже можно запустить быстро? И можно ли, чтобы этот клиент использовал Castor для обработки xml?
Да, там любой маршалинг прикручивается. Только в чем глубокий смысл именно Castor?
...
Рейтинг: 0 / 0
28.02.2013, 14:42:40
    #38169655
oson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apache CXF или Spring-WS
Ну у меня уже работает 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
28.02.2013, 20:11:06
    #38170190
oson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apache CXF или Spring-WS
Не могу понять - вот опубликовал чел SOAP сервис. Он должен мне как то передать эти самые wsdl или как?
...
Рейтинг: 0 / 0
28.02.2013, 21:17:07
    #38170250
oson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apache CXF или Spring-WS
Подскажите хороший пример в сети SOAP клиента на Spring-WS.
...
Рейтинг: 0 / 0
28.02.2013, 23:24:51
    #38170324
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apache CXF или Spring-WS
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
01.03.2013, 00:15:16
    #38170362
oson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apache CXF или Spring-WS
Если уже есть wsdl схема - какая последовательность в создании клиента?
Посмотрел эту статью http://mf9it.wordpress.com/2009/10/30/spring-ws-consumer-with-wsdl/
там используется XJC чтобы сгенерировать классы на базе этой wsdl, которые будут потом подаваться для Jaxb.
Ну а зачем тогда утилита wsdl2java?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Apache CXF или Spring-WS / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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