JAX WS Spring Integration Example

JAX+WS+Spring+Integration+Example ...

Click here to download eclipse supported ZIP file



This is index.jsp JSP file and it is used display the output for the application.




<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<head>
</head>
<body>
<table align='center'>
<tr>
<td>Hello world example...</td>

</tr>
<tr>
<td><a href="./hello">click here</a></td>
</tr>
</table>
</body>


This is HelloWorldBo.java file having the source code to execute business logic.



 

    
package com.cv.webservice.bo;

public interface HelloWorldBo{

  String getHelloWorld();
  
}


This is HelloWorldBoImpl.java file having the source code to execute business logic.



 

    
package com.cv.webservice.bo.impl;

import com.cv.webservice.bo.HelloWorldBo;

public class HelloWorldBoImpl implements HelloWorldBo{

  public String getHelloWorld(){
    return "JAX-WS + Spring!";
  }
  
}


This is HelloWorldWS.java file having the source code to execute business logic.



 

    
package com.cv.webservice;

import javax.jws.WebMethod;
import javax.jws.WebService;

import com.cv.webservice.bo.HelloWorldBo;

@WebService
public class HelloWorldWS{

  //DI via Spring
  HelloWorldBo helloWorldBo;

  @WebMethod(exclude=true)
  public void setHelloWorldBo(HelloWorldBo helloWorldBo) {
    this.helloWorldBo = helloWorldBo;
  }

  @WebMethod(operationName="getHelloWorld")
  public String getHelloWorld() {
    
    return helloWorldBo.getHelloWorld();
    
  }
 
}


This is pom.xml file having the entries of dependency jars and information to build the application .



	
<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">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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mkyong.common</groupId> <artifactId>JAXWSSpringIntegrationExample</artifactId> <packaging>war</packaging> <version>1.0</version> <name>JAXWSSpringIntegrationExample Maven Webapp</name> <url>http://maven.apache.org</url> <repositories> <repository> <id>java.net</id> <url>http://download.java.net/maven/2</url> </repository> </repositories> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> <version>2.5.6</version> </dependency> <dependency> <groupId>com.sun.xml.ws</groupId> <artifactId>jaxws-rt</artifactId> <version>2.2.3</version> </dependency> <dependency> <groupId>org.jvnet.jax-ws-commons.spring</groupId> <artifactId>jaxws-spring</artifactId> <version>1.8</version> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <groupId>com.sun.xml.stream.buffer</groupId> <artifactId>streambuffer</artifactId> <groupId>org.jvnet.staxex</groupId> <artifactId>stax-ex</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> </dependencies> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.4</version> <configuration> <warSourceDirectory>src/main/webapp</warSourceDirectory> <warName>JAXWSSpringIntegrationExample</warName> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> </plugins> </pluginManagement> <finalName>JAXWSSpringIntegrationExample</finalName> </build> </project>


This is applicationContext.xml spring configuration file and these entries are used in the application.



 
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ws="http://jax-ws.dev.java.net/spring/core"
xmlns:wss="http://jax-ws.dev.java.net/spring/servlet"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://jax-ws.dev.java.net/spring/core
http://jax-ws.dev.java.net/spring/core.xsd
http://jax-ws.dev.java.net/spring/servlet
http://jax-ws.dev.java.net/spring/servlet.xsd">

<wss:binding url="/hello">
<wss:service>
<ws:service bean="#helloWs" />
</wss:service>
</wss:binding>

<!-- Web service methods -->
<bean id="helloWs" class="com.cv.webservice.HelloWorldWS">
<property name="helloWorldBo" ref="HelloWorldBo" />
</bean>

<bean id="HelloWorldBo" class="com.cv.webservice.bo.impl.HelloWorldBoImpl" />

</beans>


This is web.xml deployment descriptor file and it describes how the web application should be deployed.



	
<web-app id="WebApp_ID" version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<display-name>Spring + JAX-WS</display-name>

<servlet>
<servlet-name>jaxws-servlet</servlet-name>
<servlet-class>
com.sun.xml.ws.transport.http.servlet.WSSpringServlet
</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>jaxws-servlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>

<!-- Register Spring Listener -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>

</web-app>


This is log4j.properties file having the entries for logging the information into the console/file.




#By default enabling Console appender
# Root logger option
log4j.rootLogger=INFO, stdout

# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-5p [%c]:%L -->> %m%n

# Redirect log messages to a log file
#log4j.appender.file=org.apache.log4j.RollingFileAppender
#log4j.appender.file.File=C:\servlet-application.log
#log4j.appender.file.MaxFileSize=5MB
#log4j.appender.file.MaxBackupIndex=10
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

No comments:

Post a Comment