summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws
diff options
context:
space:
mode:
Diffstat (limited to 'Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws')
-rw-r--r--Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/Hello.java15
-rw-r--r--Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/HelloBean.java18
-rw-r--r--Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/JAXWSClient.java40
-rw-r--r--Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/META-INF/ejb-jar.xml5
-rw-r--r--Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/build.xml72
5 files changed, 150 insertions, 0 deletions
diff --git a/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/Hello.java b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/Hello.java
new file mode 100644
index 0000000..22ad6ea
--- /dev/null
+++ b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/Hello.java
@@ -0,0 +1,15 @@
+package examples.session.ws;
+
+
+/**
+ * This is the Hello business interface.
+ */
+
+
+public interface Hello {
+
+ public String hello();
+
+ public void foo();
+
+}
diff --git a/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/HelloBean.java b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/HelloBean.java
new file mode 100644
index 0000000..13e6eef
--- /dev/null
+++ b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/HelloBean.java
@@ -0,0 +1,18 @@
+package examples.session.ws;
+
+import javax.ejb.Stateless;
+import javax.jws.WebService;
+
+@Stateless
+@WebService(serviceName="Greeter", portName="GreeterPort")
+public class HelloBean {
+
+ public String hello() {
+ System.out.println("hello()");
+ return "Hello, World!";
+ }
+
+ public void foo() {
+ ;
+ }
+}
diff --git a/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/JAXWSClient.java b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/JAXWSClient.java
new file mode 100644
index 0000000..be8401e
--- /dev/null
+++ b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/JAXWSClient.java
@@ -0,0 +1,40 @@
+package examples.session.ws;
+
+import java.net.URL;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+
+/**
+ * This is an example of a standalone JAX-WS client. To compile,
+ * it requires some XML artifacts to be generated from the service's
+ * WSDL. This is done in the build file.
+ *
+ * The mapped XML classes used her are
+ * 1. the HelloBean port type class (this is NOT the bean impl. class!)
+ * 2. the Greeter service class
+ */
+public class JAXWSClient {
+
+ static String host = "localhost";
+ static String portType = "HelloBean";
+ static String serviceName = "Greeter";
+ static String serviceEndpointAddress = "http://" + host + ":8080/" + serviceName;
+ static String nameSpace = "urn:ws.session.examples";
+
+ public static void main(String[] args) throws Exception {
+
+ URL wsdlLocation = new URL(serviceEndpointAddress + "/" + portType + "?WSDL");
+ QName serviceNameQ = new QName( nameSpace, serviceName);
+
+ // dynamic service usage
+ Service service = Service.create(wsdlLocation, serviceNameQ);
+ HelloBean firstGreeterPort = service.getPort(HelloBean.class);
+ System.out.println("1: " + firstGreeterPort.hello());
+
+ // static service usage
+// Greeter greeter = new Greeter();
+// HelloBean secondGreeterPort = greeter.getGreeterPort();
+// System.out.println("2: " +secondGreeterPort.hello());
+ }
+}
diff --git a/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/META-INF/ejb-jar.xml b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/META-INF/ejb-jar.xml
new file mode 100644
index 0000000..9503e74
--- /dev/null
+++ b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/META-INF/ejb-jar.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+ <ejb-jar>
+ <enterprise-beans>
+ </enterprise-beans>
+</ejb-jar> \ No newline at end of file
diff --git a/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/build.xml b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/build.xml
new file mode 100644
index 0000000..2d4a975
--- /dev/null
+++ b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/ws/build.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+<!DOCTYPE project [ <!ENTITY include SYSTEM "../../../../etc/common.xml"> ]>
+
+<project name="ejb3-examples-session-ws" default="all"
+ basedir="../../../..">
+
+ <!-- properties overriding common ones -->
+ <property name="src.dir" value="${basedir}/src"/>
+ <property name="build.dir" value="${basedir}/build"/>
+ <property name="build.classes.dir" value="${build.dir}/classes"/>
+ <property name="appname" value="WS"/>
+ <property name="client.class" value="examples.session.ws.JAXWSClient"/>
+ <property name="app.pkg" value="examples/session/ws"/>
+ <property name="package" value="${app.pkg}"/>
+ <property name="pack.dir" value="${src.dir}/${app.pkg}"/>
+ <property name="jar.pkg" value="examples/session/ws"/>
+ <property name="ServiceName" value="Greeter" />
+ <property name="PortType" value="HelloBean" />
+
+ <!-- Include common.xml -->
+ &include;
+
+ <!-- specific properties -->
+ <property name="deploy.file" value="${ejbjar}" />
+ <property name="assemble.dir" value="${assemble.ejbjar}" />
+
+ <!-- targets -->
+ <target name="client_jar" depends="compile_client, create_client_jar"/>
+ <target name="all" depends="client_jar"/>
+
+ <target name="compile_service" depends="init_common">
+ <mkdir dir="${build.classes.dir}"/>
+ <javac srcdir="${pack.dir}" debug="true" excludes="**/*Client.java"
+ destdir="${build.classes.dir}"
+ classpath="${build.classpath}"/>
+ </target>
+
+ <target name="compile_client" depends="init_common,clean_clientjar_common">
+ <mkdir dir="${assemble.clientjar}"/>
+ <mkdir dir="${build.classes.dir}"/>
+ <get src="${service.wsdl}" dest="${build.classes.dir}/service.wsdl"/>
+ <wsimport
+ fork="true" keep="true"
+ wsdl="${build.classes.dir}/service.wsdl"
+ sourcedestdir="${build.classes.dir}"
+ destdir="${assemble.clientjar}" >
+ </wsimport>
+ <javac srcdir="${pack.dir}" debug="true" includes="**/*Client.java"
+ destdir="${assemble.clientjar}"
+ classpath="${build.classpath}"/>
+ </target>
+
+ <target name="run_wsclient_standalone" depends="client_jar">
+ <java classname="${client.class}"
+ classpath="${assemble.clientjar}/${clientjar};${appserver.home}/lib/appserv-rt.jar;${appserver.home}/lib/appserv-ws.jar;${appserver.home}/lib/appserv-admin.jar;${appserver.home}/lib/javaee.jar;" fork="yes">
+ </java>
+ </target>
+
+ <target name="create_ejbjar" depends="clean_ejbjar_common,compile_service">
+ <mkdir dir="${assemble.ejbjar}"/>
+ <jar destfile="${assemble.ejbjar}/${ejbjar}">
+ <zipfileset dir="${build.classesdir}/${app.pkg}/" includes="**/*.class"
+ excludes="**/servlet/, **/client/" prefix="${jar.pkg}"/>
+ <fileset dir="${src.dir}/${package}" includes="META-INF/${jarDD}"/>
+ </jar>
+ </target>
+
+ <target name="deploy" depends="compile_service,create_ejbjar, deploy_common" />
+ <target name="clean" depends="undeploy_common, clean_common" />
+
+</project>
+