Учебники

JBoss Fuse — Apache CXF

В этой главе давайте обсудим, что такое 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

SOQP веб-сервис

Веб-сервис должен быть указан следующим образом.

Тестирование веб-сервиса

mvn -Pclient

ИНФОРМАЦИЯ — Создание службы { http://ws.totorials.com/ } PersonService из класса com.to