MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap
Revision 1 as of 2015-03-17 13:57:10
  • Java
  • ApacheCXF

Java/ApacheCXF

http://cxf.apache.org/

Apache CXF is an open source services framework. CXF helps you build and develop services using frontend programming APIs, like JAX-WS and JAX-RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI.

Sample

Structure:

.
├── pom.xml
├── src
│   └── main
│       ├── java
│       │   └── com
│       │       └── test
│       │           ├── Calculator.java
│       │           └── ICalculator.java
│       └── webapp
│           ├── index.html
│           └── WEB-INF
│               ├── applicationContext.xml
│               └── web.xml
└── target

pom.xml

<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.test</groupId>
  <artifactId>cxfSpringTest</artifactId>
  <version>0.1</version>
  <packaging>war</packaging>
  <dependencies>
    <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-core</artifactId>
       <version>2.4.1</version>
    </dependency>
    <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-bundle-jaxrs</artifactId>
       <version>2.4.1</version>
    </dependency>
    <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-frontend-jaxws</artifactId>
       <version>2.4.1</version>
    </dependency>
  </dependencies>
</project>

src/main/java/com/test/Calculator.java

package com.test;

public class Calculator implements ICalculator
{
    public Calculator() {
        System.out.println("Calculator created ");
    }

    public long add(long num1, long num2) {
        return (num1 + num2);
    }

    public long subtract( long num1, long num2  ){
        return num1 - num2;
    }
}

src/main/java/com/test/ICalculator.java

package com.test;
import javax.jws.WebService;

@WebService
public interface ICalculator {
    public long add(long num1 , long num2 );
    public long subtract(long num1, long num2 );
}

src/main/webapp/WEB-INF/applicationContext.xml

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation=" http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
    <import resource="classpath:META-INF/cxf/cxf.xml"/>
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>

    <bean id="calculatorService" class="com.test.Calculator" scope="singleton" />
    <jaxws:endpoint implementor="#calculatorService" address="/calculator"  />

</beans>

src/main/webapp/WEB-INF/web.xml

<web-app>
  <!-- <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
  </context-param>  default location for spring context  -->
  <servlet>
    <servlet-name>CXFServlet</servlet-name>
    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>CXFServlet</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <servlet>
    <servlet-name>Spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </init-param> -->
    <load-on-startup>0</load-on-startup>
  </servlet>
</web-app>

src/main/webapp/index.html

<html>
<body>teste aaaa ....</body>
</html>
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01