nmukhi 2003/01/16 10:05:07
Modified: java/samples/ejb AddressBook.wsdl README.html
java/samples/ejb/client/dynamic README.html
java/samples/ejb/client/stub README.html
java/samples/ejb/service README.html
Log:
Changed EJB sample READMEs so that JBoss-specific portions are separated
more cleanly.
Revision Changes Path
1.3 +5 -5 xml-axis-wsif/java/samples/ejb/AddressBook.wsdl
Index: AddressBook.wsdl
===================================================================
RCS file: /home/cvs/xml-axis-wsif/java/samples/ejb/AddressBook.wsdl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AddressBook.wsdl 16 Dec 2002 11:35:16 -0000 1.2
+++ AddressBook.wsdl 16 Jan 2003 18:05:06 -0000 1.3
@@ -103,12 +103,12 @@
<!-- service decln -->
<service name="AddressBookService">
- <!-- JBoss specific EJB endpoint -->
<port name="EJBPort" binding="tns:EJBBinding">
- <ejb:address className="ejb.service.AddressBookSessionHome"
- jndiName="ejb/service/AddressBook"
- initialContextFactory="org.jnp.interfaces.NamingContextFactory"
- jndiProviderURL="localhost"/>
+ <!-- Put vendor-specific deployment information here -->
+ <ejb:address className=""
+ jndiName=""
+ initialContextFactory=""
+ jndiProviderURL=""/>
</port>
</service>
1.3 +2 -2 xml-axis-wsif/java/samples/ejb/README.html
Index: README.html
===================================================================
RCS file: /home/cvs/xml-axis-wsif/java/samples/ejb/README.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- README.html 13 Dec 2002 22:59:55 -0000 1.2
+++ README.html 16 Jan 2003 18:05:06 -0000 1.3
@@ -12,11 +12,11 @@
EJB Sample</h1>
<p>This sample aims to demonstrate the invocation of an EJB through WSIF's API.
This means that an EJB is exposed as a first class WSDL-described service using the <a
href="../../doc/wsdl_extensions/ejb_extension.html">EJB binding extensions</a> defined
in WSIF.</p>
<p>In this particular sample, we describe an AddressBook service, a common example
in various Web services toolkits. For those unfamilar with it, this service offers a
port type with three operations. Two of the operations add an entry to the address
book, using slightly different styles for providing input information. The third
operation queries the address book with a name. The service uses complex schema types
for representing an address and a phone number.</p>
-<p>The abstract functionality is tied to an EJB binding that describes how a
stateful session bean supports the abstract port type defined. It is worth emphasizing
that this isn't a standard WSDL binding, instead it exploits WSDL's extensibility to
describe how to access the abstract functionality when it is deployed and available on
an EJB. You will notice that the <tt><ejb:address></tt> element in the <a
href="AddressBook.wsdl">AddressBook WSDL</a> refers to an initial context factory that
gets used by WSIF's EJB provider. The classpath specified here is vendor specific and
will need to be changed depending on your particular deployment.</p>
+<p>The abstract functionality is tied to an EJB binding that describes how a
stateful session bean supports the abstract port type defined. It is worth emphasizing
that this isn't a standard WSDL binding, instead it exploits WSDL's extensibility to
describe how to access the abstract functionality when it is deployed and available on
an EJB. You will notice that the <tt><ejb:address></tt> element in the <a
href="AddressBook.wsdl">AddressBook WSDL</a> refers to an initial context factory that
gets used by WSIF's EJB provider. The classpath specified here is vendor specific and
will need to be changed depending on your particular deployment, we have provided
instructions in the service deployment documentation we link to below.</p>
<p>The <a href="AddressBook.wsdl">WSDL file</a> is in this sample directory; this
has the EJB binding.</p>
<p><a href="service/README.html">Here's</a> how this service is implemented. We
also describe how to deploy the EJB on a J2EE platform of your choice.</p>
<p><a href="client/dynamic/README.html">Here's</a> how to invoke this service
dynamically using WSIF's dynamic invocation interface (DII).</p>
<p><a href="client/stub/README.html">Here's</a> how to invoke this service by first
generating the stub interface and using this directly through WSIF's dynamic proxy,
thus hiding all WSIF specifics from the client code. Note that the stub interface used
is the the service interface as defined by the JAX-RPC specification.</p>
-<p>Deployment of an EJB as well as acessing and using it is vendor-specific. We
have made it particularly simple to run this sample if you use <a
href="http://www.jboss.org">JBoss</a> as your application server, but have also
provided enough documentation so that it should not be hard to run this sample in a
different environment.
+<p>Deployment of an EJB as well as acessing and using it is vendor-specific. We
have included instructions for deploying and using this sample in particular app
server environments; even if your favorite app server isn't part of our list, we have
provided enough documentation so that it should not be hard to run this sample in a
different environment.
<hr width="100%">
</body></html>
1.3 +8 -4 xml-axis-wsif/java/samples/ejb/client/dynamic/README.html
Index: README.html
===================================================================
RCS file: /home/cvs/xml-axis-wsif/java/samples/ejb/client/dynamic/README.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- README.html 7 Jan 2003 17:52:43 -0000 1.2
+++ README.html 16 Jan 2003 18:05:06 -0000 1.3
@@ -10,9 +10,13 @@
<h2>
Web Services Invocation Framework:<br>
Invoking the EJB Sample using WSIF's dynamic invocation interface</h2>
-<p>First you need to <a href="../../../../doc/samples.html">set up the CLASSPATH in
your environment</a>. Beyond the standard classpath setting, you also need to add the
J2EE client jar files to your classpath. The set of J2EE client JARs is vendor
specific; refer to the documentation in your application server on how to set up the
environment for an EJB client, and add the JAR files specified. For JBoss users, we
have included a script to set up the client environment. To run this script, make sure
you are in your base WSIF directory (the one that contains the <tt>classpath.bat</tt>
script. Set the variable <tt>JBOSS_HOME</tt> to point to your JBoss installation. From
there, run the command <tt>samples\ejb\client\jboss_setup\jboss.bat</tt>. This sets up
the entire client classpath required to run the sample using JBoss client JAR
files.</p>
-<p>The <a href="../../AddressBook.wsdl">WSDL file</a> that describes the service
and its EJB binding is vendor-specific in the <tt><ejb:address></tt> element.
The <tt>initialContextFactory</tt>, <tt>jndiName</tt> and <tt>jndiProviderURL</tt>
attributes will all depend on your specific deployment; refer to your application
server documentation on how to write an EJB client to learn more about JNDI and
related issues. Make sure these values are all correct before you try running the
client.</p>
-<p>After you have set up your classpath, to invoke this sample using WSIF's DII,
run the <tt>Run</tt> class located in this directory. This class will populate an
addressbook with two names and then query each of them by invoking various operations
supported by the service. To run this class, specify on the command line the location
of the WSDL file for the service. For example, <br><tt>java ejb.client.dynamic.Run
samples/ejb/AddressBook.wsdl</tt></p>
-<p>Look at the code in the <tt>Run.java</tt> file in this directory to see how to
use WSIF's DII yourself. Note that the <tt>DynamicInvoker</tt> class we used to <a
href="../../../simplesoap/client/dynamic/README.html">invoke the simplesoap sample
dynamically</a> cannot be used for this one since the <tt>DynamicInvoker</tt> as it
stands now is limited to invocation of services using primitive schema types only.</p>
+<p>First you need to <a href="../../../../doc/samples.html">set up the CLASSPATH in
your environment</a>. Beyond the standard classpath setting, you also need to add the
J2EE client jar files to your classpath. The set of J2EE client JARs is vendor
specific. We have included below instructions for some app servers, follow that link
if you happen to be using one of those, otherwise refer to the documentation in your
application server on how to set up the environment for an EJB client.</p>
+<p><b>Setting up the client on some app servers</b>
+<ul>
+ <li><a href="../jboss_setup/README.html">JBoss setup</a></li>
+</ul></p>
+<p><b>Running the client</b>
+<p>After you have set up your classpath, you can invoke this sample using WSIF's
DII by running the <tt>Run</tt> class located in this directory. This class will
populate an addressbook with two names and then query each of them by invoking various
operations supported by the service. To run this class, specify on the command line
the location of the WSDL file for the service. For example, <br><tt>java
ejb.client.dynamic.Run samples/ejb/AddressBook.wsdl</tt></p>
+<p>Look at the code in the <tt>Run.java</tt> file in this directory to see how to
use WSIF's DII yourself. Note that the <tt>DynamicInvoker</tt> class we used to <a
href="../../../simplesoap/client/dynamic/README.html">invoke the simplesoap sample
dynamically</a> cannot be used for this one since the <tt>DynamicInvoker</tt> as it
stands now is limited to invocation of services using primitive schema types
only.</p></p>
<hr width="100%">
</body></html>
1.2 +7 -3 xml-axis-wsif/java/samples/ejb/client/stub/README.html
Index: README.html
===================================================================
RCS file: /home/cvs/xml-axis-wsif/java/samples/ejb/client/stub/README.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- README.html 13 Dec 2002 22:59:55 -0000 1.1
+++ README.html 16 Jan 2003 18:05:07 -0000 1.2
@@ -10,9 +10,13 @@
<h2>
Web Services Invocation Framework:<br>
Invoking the EJB Sample through a high level stub interface</h2>
-<p>First you need to <a href="../../../../doc/samples.html">set up the CLASSPATH in
your environment</a>. Beyond the standard classpath setting, you also need to add the
J2EE client jar files to your classpath. The set of J2EE client JARs is vendor
specific; refer to the documentation in your application server on how to set up the
environment for an EJB client, and add the JAR files specified. For JBoss users, we
have included a script to set up the client environment. To run this script, make sure
you are in your base WSIF directory (the one that contains the <tt>classpath.bat</tt>
script. Set the variable <tt>JBOSS_HOME</tt> to point to your JBoss installation. From
there, run the command <tt>samples\ejb\client\jboss_setup\jboss.bat</tt>. This sets up
the entire client classpath required to run the sample using JBoss client JAR
files.</p>
-<p>The <a href="../../AddressBook.wsdl">WSDL file</a> that describes the service
and its EJB binding is vendor-specific in the <tt><ejb:address></tt> element.
The <tt>initialContextFactory</tt>, <tt>jndiName</tt> and <tt>jndiProviderURL</tt>
attributes will all depend on your specific deployment; refer to your application
server documentation on how to write an EJB client to learn more about JNDI and
related issues. Make sure these values are all correct before you try running the
client.</p>
-<p>After you have set up your classpath, to invoke this sample using WSIF's DII,
run the <tt>Run</tt> class located in this directory. This is the logic that uses the
generated stub interface to run the sample. So you can run this class, specifying on
the command line the location of the WSDL file for the sample. For example, <br>
+<p>First you need to <a href="../../../../doc/samples.html">set up the CLASSPATH in
your environment</a>. Beyond the standard classpath setting, you also need to add the
J2EE client jar files to your classpath. The set of J2EE client JARs is vendor
specific. We have included below instructions for some app servers, follow that link
if you happen to be using one of those, otherwise refer to the documentation in your
application server on how to set up the environment for an EJB client.</p>
+<p><b>Setting up the client on some app servers</b>
+<ul>
+ <li><a href="../jboss_setup/README.html">JBoss setup</a></li>
+</ul></p>
+<p><b>Running the client</b>
+<p>After you have set up your classpath, to invoke this sample using a JAX-RPC stub
interface, run the <tt>Run</tt> class located in this directory. This is the logic
that uses the generated stub interface to run the sample. So you can run this class,
specifying on the command line the location of the WSDL file for the sample. For
example, <br>
<tt>java ejb.client.stub.Run samples/ejb/AddressBook.wsdl</tt></p>
<p>The sample code will use the stub interface to populate an addressbook with two
entries and will then query the addressbook for those two addresses using the
corresponding names.</p>
<p>To generate the stub interface, you can use any tool that generates Java
interfaces for WSDL services using their port type descriptions, such as WSDL2Java
from Axis. WSIF assumes a correspondence between the generated Java interface and the
WSDL port type that has its abstract description as specified in the JAX-RPC
specification. This particular sample did not use WSDL2Java in a simple way (due to a
current bug in WSDL2Java that prevents it from processing WSDLs that do not have a
valid SOAP endpoint or binding. We managed to get it to work by commenting out the EJB
binding that is currently there, and introducing a binding element that describes a
SOAP binding. After doing this, we ran WSDL2Java in the following way:<br>
1.3 +1 -1 xml-axis-wsif/java/samples/ejb/service/README.html
Index: README.html
===================================================================
RCS file: /home/cvs/xml-axis-wsif/java/samples/ejb/service/README.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- README.html 27 Dec 2002 17:52:32 -0000 1.2
+++ README.html 16 Jan 2003 18:05:07 -0000 1.3
@@ -16,7 +16,7 @@
<li><tt><a
href="AddressBookSession.java">AddressBookSessionHome.java</a></tt>, the home
interface for our session bean.</li>
<li><tt><a
href="AddressBookSessionBean.java">AddressBookSessionBean.java</a></tt>, the
EJBimplementation. This is as vanilla as can be, using a hash table to store a map of
names to addresses.</li>
<li><tt><a href="addressbook">addressbook</a></tt> is a subdirectory
containing the complex Java types used - these can be generated from the WSDL</li>
- <li><tt><a href="deploy">deploy</a></tt> is a subdirectory containing the
things necessary to deploy this EJB to your favorite application server. Generally to
deploy your EJB you will need to compile the code for this sample, then package it
into a JAR along with an <tt><a href="deploy/jboss/ejb-jar.xml">ejb-jar.xml</a></tt>
file. Your application server may need other files. We have included under the
<tt>deploy/jboss</tt> directory a pre-packaged jar that contains the compiled beans
and the configuration files required by JBoss. All you need to deploy to JBoss is to
drop this <a href="deploy/jboss/addressbook.jar">addressbook JAR file for JBoss</a>
(assuming you use the default server configuration) into server/default/deploy under
your JBoss server installation, and start your server. This has been tested with JBoss
version 3.0.4 running on Windows 2000, with the sample client running on Windows 2000
and using WSIF in a Java 1.4.1 environment.</li>
+ <li><tt><a href="deploy">deploy</a></tt> is a subdirectory containing the
things necessary to deploy this EJB to your favorite application server. Generally to
deploy your EJB you will need to compile the code for this sample, then package it
into a JAR along with an <tt><a href="deploy/jboss/ejb-jar.xml">ejb-jar.xml</a></tt>
file. Your application server may need other files, take a look at app server specific
instructions under the deploy directory.</li>
</ul>
<hr width="100%">
</body></html>