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>&lt;ejb:address&gt;</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>&lt;ejb:address&gt;</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>&lt;ejb:address&gt;</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>&lt;ejb:address&gt;</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>
  
  
  


Reply via email to