В этой главе давайте обсудим, что такое Apache CXF и как он может быть полезен при разработке SOAP и остальных веб-служб.
Что такое Apache CXF?
Apache CXF — это среда разработки веб-сервисов, которую можно использовать для разработки веб-сервисов SOAP и Rest. CXF полностью соответствует стандартам JAX-RS и JAX-Ws .
В настоящее время это наиболее широко используемая среда разработки веб-сервисов. CXF изучил и улучшил по сравнению с Axis2, который теперь постепенно заменяется CXF.
CXF против Axis2
CXF | Axis2 | |
---|---|---|
улучшения |
На данный момент CXF является наиболее используемой платформой. Он имеет много улучшений по сравнению с Axis2 |
Axis2 постепенно заменяется CXf. Требуется больше кода по сравнению с CXF |
Код требуется |
CXF требует меньше кода по сравнению с Axis2 |
Axis2 требует больше кода для сравнения |
Стандартное соответствие |
CSF полностью совместим с JAX-RS и JAX-WS |
Axis2 не полностью совместим с JAX-RS и JAX-WS |
Совместим с пружиной |
да |
нет |
Разделение фронт-эндов |
Чистое отделение внешнего интерфейса от кода JAX-WS |
Чистое разделение не предусмотрено |
На данный момент CXF является наиболее используемой платформой.
Он имеет много улучшений по сравнению с Axis2
Axis2 постепенно заменяется CXf.
Требуется больше кода по сравнению с CXF
CXF требует меньше кода по сравнению с Axis2
Axis2 требует больше кода для сравнения
CSF полностью совместим с JAX-RS и JAX-WS
Axis2 не полностью совместим с JAX-RS и JAX-WS
да
нет
Чистое отделение внешнего интерфейса от кода JAX-WS
Чистое разделение не предусмотрено
МЫЛО
SOAP означает простой протокол доступа к объектам. Это протокол для обмена структурированной информацией через веб-сервисы между двумя системами. Он в основном использует XML для структурирования данных и использует HTTP или SMTP для согласования и передачи сообщений.
Существует два подхода к разработке веб-сервисов SOAP:
-
Сначала код — в этом подходе WSDL генерируется из кода.
-
Сначала контракт — в контракте сначала код генерируется из WSDL.
Сначала код — в этом подходе WSDL генерируется из кода.
Сначала контракт — в контракте сначала код генерируется из WSDL.
Разработка SOAP с использованием CXF
Настроить Maven
Добавьте следующий профиль в файл settings.xml Maven.
<profiles> <profile> <id>Jboss-Fuse</id> <activation> <activeByDefault>true</activeByDefault> </activation> <repositories> <repository> <id>fusesource</id> <url>http://repo.fusesource.com/nexus/content/groups/public/</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> </repositories> </profile> </profiles>
Создать скелет
mvn archetype:generate -DarchetypeGroupId = org.apache.servicemix.tooling -DarchetypeArtifactId = servicemix-cxf-code-first-osgi-bundle -DarchetypeVersion=2012.01.0.redhat-60024 -DgroupId = org.fusesource.example -DartifactId = cxf-basic -Dversion = 1.0-SNAPSHOT
Построить веб-сервис проекта .
mvn clean install
Установите веб-сервис в Fuse, используя следующую команду .
JBossFuse:karaf@root>install -s mvn:org.fusesource.example/cxf-basic/1.0-SNAPSH
Проверьте, есть ли в комплекте зарегистрированный веб-сервис SOQP
Открыть URL http: // localhost: 8181 / cxf
Веб-сервис должен быть указан следующим образом.
Тестирование веб-сервиса
mvn -Pclient
ИНФОРМАЦИЯ — Создание службы { http://ws.totorials.com/ } PersonService из класса com.to