CXF Tutorial With Apache Maven

In this tutorial, we are implementing a jax-ws web service using Apache CXF with Maven and deployed in Tomcat.

Apache CXF is a free and open source project, and a fully featured Web service framework. It helps you building web services using different front-end API's, like as JAX-RS and JAX-WS.

Services will talk different protocols such as SOAP, RESTful HTTP, CORBA & XML/HTTP and work with different transports like JMS, HTTP or JBI.

CXF With JBoss Tutorial

CXF With JBoss Tutorial explains about the integration of CXF Framework with Jboss server.

Apache CXF is a free and open source project, and a fully featured Webservice framework.It helps you building webservices using different front-end API's, like as JAX-RS and JAX-WS.

Reference → https://cxf.apache.org/

Apache CXF And Embedded Tomcat

In this tutorial we are going to test a webservice using embedded Tomcat instance and JUnit. Here we are testing a simple REST service implemented by CXF framework, It works as a standalone application.

Apache CXF And Embedded Tomcat

Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies. The Java Servlet and JavaServer Pages specifications are developed under the Java Community Process.

Reference -> http://tomcat.apache.org/

CXF Webservice Using Embedded Jetty

In this tutorial we are going to test a webservice using embedded Jetty instance and JUnit. Here we are testing a simple REST service implemented by CXF framework, It works as a standalone application.

CXF Webservice Using embedded Jetty

Jetty provides a Web server and javax.servlet container, plus support for SPDY, WebSocket, OSGi, JMX, JNDI, JAAS and many other integration. These components are open source and available for commercial use and distribution

Reference -> http://www.eclipse.org/jetty/

Add HTTP Headers To SOAP Request Using CXF

Add HTTP Headers to a SOAP Request Using CXF explains about step by step details of setting custom http headers to a SOAP Request and retrieve the headers in server side by using CXF.

Message message = PhaseInterceptorChain.getCurrentMessage();
SoapMessage soapMessage = (SoapMessage) message;
List list = soapMessage.getHeaders(); 
for (Header header : list) { 
  System.out.println("Country: "+((Element)header.getObject()).getTextContent()); 
}

On above code, we are getting list of header from SoapMessage

CXF WS-Discovery Client

CXF WS-Discovery Client explains step by step details of discovering a JAX-WS service using CXF WS-Discovery feature

For Creating Apache CXF WS-Discovery Client, We are using org.apache.cxf.ws.discovery.WSDiscoveryClient. WSDiscoveryClient is an in built CXF class

Which helps us to search the services on the network and invoke the operation on that available service.

CXF WS-Discovery Example

CXF WS-Discovery Example explain about configuring WS-Discovery service with Apache CXF.

Web Services Dynamic Discovery (WS-Discovery) is a protocol, which enable dynamic discovery of services available on the local network. By default, WS-Discovery uses a UDP based multicast transport to announce new services

Apache CXF  is a free and open source project, and a fully featured Webservice framework. It helps you building webservices using different front-end API's, like as JAX-RS and JAX-WS.

WS-Discovery is available from Apache CXF 2.7.x onwards.

Reference-> http://cxf.apache.org/docs/ws-discovery.htm

Asynchronous Web Service Using CXF

Asynchronous Web Service Using CXF explains about Creating / Developing JAX-WS Asynchronous Web service with the help of Apache CXF, Spring, Eclipse and deployed in Tomcat

In this example we are showing implementing an Asynchronous SOAP services using CXF Java first approach.

The asynchronous model allows the client thread to continue after making a two-way invocation without being blocked while awaiting a response from the server. Once the response is available, it is delivered to the client application asynchronously

For this there are two alternative approaches:

1) Callback: client application implements the javax.xml.ws.AsyncHandler interface to accept notification of the response availability
2) Polling: client application periodically polls a javax.xml.ws.Response instance to check if the response is available

Reference -> http://cxf.apache.org/docs/developing-a-consumer.html