xxxxxxxxxx
$ mvn archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DarchetypeVersion=1.4 \
-DgroupId=mtitek.modulez.ws \
-DartifactId=mtitek-modulez-ws \
-Dpackage=mtitek.modulez.ws \
-Dversion=1.0.0-SNAPSHOT \
-DinteractiveMode=false
xxxxxxxxxx
$ rm -f mtitek-modulez-ws/src/test/java/mtitek/modulez/ws/AppTest.java
$ rm -f mtitek-modulez-ws/src/main/java/mtitek/modulez/ws/App.java
xxxxxxxxxx
<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>mtitek.modulez.ws</groupId>
<artifactId>mtitek-modulez-ws</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>create-war</id>
<phase>install</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<mkdir dir="${pom.basedir}/target/WEB-INF/lib" />
<copy file="${pom.basedir}/target/${artifactId}-${version}.jar" toDir="${pom.basedir}/target/WEB-INF/lib" />
<jar destfile="${pom.basedir}/target/${artifactId}-${version}.war"> <fileset dir="${pom.basedir}/target" includes="WEB-INF/**" /></jar>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
xxxxxxxxxx
package mtitek.modulez.ws;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService(serviceName = "JAXWSFirstService")
public class JAXWSFirst {
@WebMethod
public String getDefultString() {
return "jax-ws HelloWorld!";
}
@WebMethod(operationName = "toUpperCase")
public String toUpperCase(@WebParam(name = "value") String value) {
return value == null ? "" : value.toUpperCase();
}
}
xxxxxxxxxx
$ mvn archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-webapp \
-DarchetypeVersion=1.4 \
-DgroupId=mtitek.modulez.ws.client \
-DartifactId=mtitek-modulez-ws-client \
-Dversion=1.0.0-SNAPSHOT \
-DinteractiveMode=false
xxxxxxxxxx
$ rm -f mtitek-modulez-ws-client/src/main/webapp/index.jsp
xxxxxxxxxx
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>mtitek.modulez.ws.client</groupId>
<artifactId>mtitek-modulez-ws-client</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
xxxxxxxxxx
$ mkdir "mtitek-modulez-ws-client/src/main/java"
$ cd "mtitek-modulez-ws-client/src/main/java"
xxxxxxxxxx
$ wsimport -p mtitek.modulez.ws.client -keep -verbose http://localhost:9080/mtitek-modulez-ws/JAXWSFirstService?wsdl
xxxxxxxxxx
$ rm -f mtitek/modulez/ws/client/*.class
xxxxxxxxxx
package mtitek.modulez.ws.client;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.ws.WebServiceRef;
public class JAXWSFirstClient extends HttpServlet {
private static final long serialVersionUID = -4501157466060818011L;
@WebServiceRef
JAXWSFirstService jaxwsFirstService;
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
JAXWSFirst jaxwsFirst = jaxwsFirstService.getJAXWSFirstPort();
resp.getWriter().println(jaxwsFirst.getDefultString());
resp.getWriter().println(jaxwsFirst.toUpperCase("jax-ws HelloWorld!"));
}
}
xxxxxxxxxx
<web-app xmlns="http://java.sun.com/xml/ns/javaee" 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_5.xsd"
version="2.5">
<servlet>
<servlet-name>JAXWSFirstClientServlet</servlet-name>
<servlet-class>mtitek.modulez.ws.client.JAXWSFirstClient</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>JAXWSFirstClientServlet</servlet-name>
<url-pattern>/jaxwsclient</url-pattern>
</servlet-mapping>
</web-app>
xxxxxxxxxx
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<a:getDefultString xmlns:a="http://ws.modulez.mtitek/"></a:getDefultString>
</soapenv:Body>
</soapenv:Envelope>
xxxxxxxxxx
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns2:getDefultStringResponse xmlns:ns2="http://ws.modulez.mtitek/">
<return>jax-ws HelloWorld!</return>
</ns2:getDefultStringResponse>
</soapenv:Body>
</soapenv:Envelope>
xxxxxxxxxx
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<a:toUpperCase xmlns:a="http://ws.modulez.mtitek/">
<value>jax-ws HelloWorld!</value>
</a:toUpperCase>
</soapenv:Body>
</soapenv:Envelope>
xxxxxxxxxx
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns2:toUpperCaseResponse xmlns:ns2="http://ws.modulez.mtitek/">
<return>JAX-WS HELLOWORLD!</return>
</ns2:toUpperCaseResponse>
</soapenv:Body>
</soapenv:Envelope>