Added:
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/validation.xml
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/validation.xml?view=auto&rev=159718
==============================================================================
---
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/validation.xml
(added)
+++
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/validation.xml
Fri Apr 1 10:57:33 2005
@@ -0,0 +1,256 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
"http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Data Validation</title>
+ </header>
+ <body>
+ <section id="introduction">
+ <title>Introduction</title>
+ </section>
+ <p>Page Flows offer a declarative validation model. This means
that validation tasks are
+ configured using metadata annotations.
+ Annotations for common validation tasks are already
provided: e.g.,
+ <a
href="../apidocs/classref_pageflows/org/apache/beehive/netui/pageflow/annotations/Jpf.ValidateCreditCard.html">@Jpf.ValidateCreditCard</a>,
+ <a
href="../apidocs/classref_pageflows/org/apache/beehive/netui/pageflow/annotations/Jpf.ValidateCreditCard.html">@Jpf.ValidateDate</a>,
etc.</p>
+
+ <section id="validation_annos"><title>Validation
Annotations</title>
+ <p>Validation annotations can decorate three different
sites:</p>
+ <ul>
+ <li>Controller Class</li>
+ <li>Action Methods</li>
+ <li>Form Bean Getter Methods</li>
+ </ul>
+ <section id="class-level"><title>...on the Controller
Class</title>
+ <p>The following class-level annotation, says that anytime that
an instance of
+ MyForm is submitted, then its <code>date</code> field
will be validated
+ (against the pattern M-d-y).</p>
+ <p>When the validation annotations decorate the Controller
class,
+ you must specify the Form Bean class and the Form Bean
field to which validation
+ will apply.</p>
+ <p><code>@Jpf.ValidateableBean( type )</code> specifies the
Form Bean class.</p>
+ <p><code>@Jpf.ValidatableProperty( propertyName )</code>
specifies the Form Bean field.</p>
+ <p>Note that the <code>propertyName</code> must match the
setter/getter field name
+ in the Bean. In the example below, the setter/getter
+ field name is <strong>date</strong> (because the
setter/getter methods are
+ setDate(...)/getDate()).</p>
+ <source>@Jpf.Controller(
+ validatableBeans={
+ @Jpf.ValidatableBean(
+ <strong>type=Controller.MyForm.class</strong>,
+ validatableProperties={
+ @Jpf.ValidatableProperty(
+ <strong>propertyName="date"</strong>,
+ displayName="This field",
+ [EMAIL PROTECTED](pattern="M-d-y")
+ )
+ }
+ )
+ }
+)
+public class Controller extends PageFlowController
+{
+ ...
+
+ public static class MyForm implements Serializable
+ {
+ private String _date;
+
+ public String getDate()
+ {
+ return _date;
+ }
+
+ public void setDate( String str )
+ {
+ _date = str;
+ }
+ }
+}</source>
+ </section>
+ <section id="method-level"><title>...on the Action
Method</title>
+ <p>When the validation annotations are applied to the Action
Method, you must
+ specify the Form Bean field to which validation will
apply. (You don't need to
+ specify the Form Bean class, because it is already
specified by the
+ Bean parameter of the Action Method.)</p>
+ <p><code>@Jpf.ValidatableProperty( propertyName )</code>
+ specifies the Form Bean field.</p>
+ <source>
+ @Jpf.Action(
+ forwards={
+ @Jpf.Forward(name="success", path="success.jsp")
+ },
+ validatableProperties={
+ @Jpf.ValidatableProperty(
+ <strong>propertyName="date"</strong>,
+ displayName="This field",
+ [EMAIL PROTECTED](),
+ [EMAIL PROTECTED](pattern="M-d-y")
+ )
+ },
+ [EMAIL PROTECTED](name="fail", navigateTo=Jpf.NavigateTo.currentPage)
+ )
+ public Forward submitForm( MyForm form )
+ {
+ return new Forward( "success" );
+ }</source>
+ </section>
+ <section id="bean-level"><title>...on the Form Bean Getter
Methods</title>
+ <p>When the validation annotation decorate the Form Bean getter
methods,
+ there is no need to specify the validation target
+ (the Form Bean property),
+ because the annotations
+ already decorate the correct validation target.</p>
+ <source> public static class MyForm implements
Serializable
+ {
+ private String _date;
+
+ @Jpf.ValidatableProperty(
+ displayName="This field",
+ [EMAIL PROTECTED](),
+ [EMAIL PROTECTED](pattern="M-d-y")
+ )
+ public String getDate()
+ {
+ return _date;
+ }
+
+ public void setDate( String str )
+ {
+ _date = str;
+ }
+ }</source>
+ </section>
+ </section>
+ <section id="error_handling"><title>Handling Validation
Errors</title>
+ <section id="default_error_handling"><title>Default Error
Messages</title>
+ <p>If validation fails, then an ActionMessage is written
describing the error
+ under the key <code>propertyNameValue</code>.
+ </p>
+<source> @Jpf.ValidatableProperty(
+ propertyName="<strong>propertyNameValue</strong>",
+ ...
+ )</source>
+ <p> This error is retreivable
+ by the <netui:error> tag, using the matching key
value.</p>
+<source> <netui:form action="handleSubmit">
+ Enter the date (MM-dd-YYYY):
+ <netui:textBox dataSource="actionForm.date"/>
+ <strong><netui:error key="propertyNameValue"/></strong>
+ <br/><netui:button value="Submit"/>
+ </netui:form></source>
+ <p>The <code>propertyName</code> prepends a string to the error
message produced.</p>
+<source> @Jpf.ValidatableProperty(
+ propertyName="propertyNameValue",
+ <strong>displayName="This field"</strong>,
+ )</source>
+ <p>For example, if validation fails for a date field, the error
message produced would
+ be "<code>This field</code>" + "<code>is not a
date.</code>"</p>
+ </section>
+ <section id="other_message_resources"><title>Other Message
Resources</title>
+ <p>Other message resources can be specified through the
+ <code>message/messageKey/messageArgs</code>
+ attributes.</p>
+ <source> @Jpf.ValidatableProperty(
+ propertyName = "item3",
+ validateMinLength =
+ @Jpf.ValidateMinLength(
+ chars = 6,
+ message = "{0} {1} for {2} is {3} characters.",
+ messageArgs = {
+ @Jpf.MessageArg(
+ arg = "The minimum",
+ position = 0
+ ),
+ @Jpf.MessageArg(
+ arg = "length"
+ ),
+ @Jpf.MessageArg(
+ arg = "this field"
+ ),
+ @Jpf.MessageArg(
+ arg = "six"
+ )
+ }
+ )
+ </source>
+ <p>If the <code>message/messageKey</code> attributes are not
present, then the
+ default message key will be used
("<code>errors.date</code>" for
+ <code>@Jpf.ValidateRequired</code>,
"<code>errors.minLength</code>" for
+ <code>@Jpf.ValidateMinLength</code>, etc.)</p>
+ <p>If the <code>arg0/arg0Key, etc...</code> attributes are
present,
+ it is used as the first argument to the message;
otherwise, the
+ <code>displayName/displayNameKey</code> attribute on
the
+ <code>@Jpf.ValidatableProperty</code> is resolved for
the first argument.</p>
+ <p>Message resources can be associated with a Form Bean
class:</p>
+ <source>@Jpf.FormBean( defaultMessageBundle="myFormBean.errors"
)
+public static class MyFormBean</source>
+ <p>The <netui:error> and <netui:errors> tags will resolve
validation messages in the
+ following order:</p>
+ <ol>
+ <li>The default message bundle associated with the
Controller class
+<source>@Jpf.Controller(
+ messageBundles = {
+ @Jpf.MessageBundle(bundlePath = "validation.messages.messages")
+ },</source></li>
+ <li>The message bundle associated with the current Form
Bean</li>
+ <li>The fallback message bundle in
beehive-netui-pageflow.jar.
+ This contains values for default validation
messages (e.g., "This field
+ is not a date.")</li>
+ </ol>
+ </section>
+ <section id="i18n"><title>Internationalization of Validation
Rules</title>
+ <p>In some cases the parameters to rules (and even the rules
themselves) may change
+ depending on the locale. Rules internationalization is
supported through
+ the <code>language, country, and variant</code>
attributes on
+ <code>@Jpf.ValidationRules</code>:</p>
+ <source> @Jpf.ValidatableProperty(
+ localeRules={
+ @Jpf.ValidationLocaleRules(
+ language="fr",
+ [EMAIL PROTECTED](pattern="DD/MM/YYYY")
+ ),
+ @Jpf.ValidationLocaleRules(
+ language="fr",
+ country="CA",
+ variant="Quebec",
+ [EMAIL PROTECTED](pattern="MM/DD/YYYY")
+ )
+ },
+ [EMAIL PROTECTED]() // this one applies to all locales
+ )
+ public String getDate()
+ {
+ ...</source>
+ </section>
+ <section id="req_fields"><title>Required Fields</title>
+ <p>Required fields can be marked using the
<code>validateRequired</code> attribute.</p>
+<source> @Jpf.ValidatableProperty(
+ propertyName="propertyNameValue",
+ displayName="This field",
+ <strong>[EMAIL PROTECTED]()</strong>,
+ ...
+ )</source>
+ </section>
+ <section id="post_error_nav"><title>Post-Error
Navigation</title>
+ <p>The action method handling the submit, specifies the JSP
page to go to, if the validation
+ fails.</p>
+ <p>Typically, the user is returned to the same submission page,
where the error message
+ can prompt the user to correct the invalid
submission.</p>
+
+ <source> @Jpf.Action(
+ forwards={
+ @Jpf.Forward(name="success", path="success.jsp")
+ },
+ <strong>[EMAIL PROTECTED](name="fail",
navigateTo=Jpf.NavigateTo.currentPage)</strong>
+ )
+ public Forward handleSubmit( MyForm form )</source>
+</section>
+ </section>
+ </body>
+ <footer>
+ <legal>Java, J2EE, and JCP are trademarks or registered
trademarks of Sun Microsystems, Inc. in the United States and other
countries.<br/>
+ © 2004, Apache Software Foundation
+ </legal>
+ </footer>
+</document>
Propchange:
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/validation.xml
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/samples/index.xml
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/samples/index.xml?view=diff&r1=159717&r2=159718
==============================================================================
---
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/samples/index.xml
(original)
+++
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/samples/index.xml
Fri Apr 1 10:57:33 2005
@@ -16,16 +16,19 @@
<a href="../jpetstore.html">Beehive Sample:
Petstore</a>
</li>
<li>
+ <a
href="../controls/sample_controls-db.html">Database Control
+ Sample</a>
+ </li>
+ <!--<li>
<a href="../wsm/sample_Dashboard.html">Beehive
Web Service
Sample: Petstore Dashboard</a>
- </li>
+ </li>-->
<li>
<a
href="../wsm/sample_AddressBook.html">Beehive AddressBookWS
- and EmployeeWS Samples</a>
+ and EnhancedAddressBookWS Samples</a>
</li>
<li>
- <a
href="../controls/sample_controls-db.html">Database Control
- Sample</a>
+ <a href="site:wsm-samples">Web Service
Annotation Samples</a>
</li>
</ul>
<p>
Modified:
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/site.xml
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/site.xml?view=diff&r1=159717&r2=159718
==============================================================================
---
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/site.xml
(original)
+++
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/site.xml
Fri Apr 1 10:57:33 2005
@@ -12,23 +12,28 @@
<docs label="Documentation" tab="welcome">
<docs label="Beehive Docs" href="docs/index.html"/>
<setup label="Installation and Setup" href="setup.html" />
+ <tutorials label="Tutorials">
+ <tut_dbwebapp label="DB-Driven Web App"
href="tutorial/tut_dbdrivenwebapp.html" />
+ </tutorials>
<pageflow label="Page Flows">
<tutorial_pageflow label="Tutorial"
href="pageflow/tutorial_pageflow.html"/>
<pageflow_overview label="Overview"
href="pageflow/pageflow_overview.html"/>
<pageflow_controllers label="Controller Files"
href="pageflow/pageflow_controllers.html"/>
<pageflow_jsp label="JSP Files" href="pageflow/pageflow_jsp.html"/>
- <pageflow_databinding label="Databinding"
href="pageflow/pageflow_databinding.html"/>
<pageflow_building label="Building a Web-App"
href="pageflow/pageflow_building.html"/>
<pageflow_altering label="Altering a Page Flow"
href="pageflow/pageflow_altering.html"/>
- <pageflow_sharedFlow label="Using Data Grids"
href="pageflow/pageflow_datagrid.html"/>
+ <pageflow_databinding label="Databinding"
href="pageflow/pageflow_databinding.html"/>
+ <pageflow_datagrid label="Data Grids"
href="pageflow/pageflow_datagrid.html"/>
<pageflow_sharedFlow label="Shared Flow"
href="pageflow/sharedFlow.html"/>
<pageflow_popups label="Popup Windows"
href="pageflow/popupWindows.html"/>
- <pageflow_programming label="Page Flow Programming"
href="pageflow/guide.html"/>
+ <pageflow_valid label="Validation"
href="pageflow/validation.html"/>
+ <!--<pageflow_programming label="Page Flow Programming"
href="pageflow/guide.html"/>-->
</pageflow>
<controls label="Controls">
<tutorial_control label="Tutorial"
href="controls/tutorial_controls.html"/>
<control_overview label="Controls Overview"
href="controls/controlsOverview.html"/>
<control_prog label="Control Programming"
href="controls/controlsProgramming.html"/>
+ <control_contain label="Controls Containment"
href="controls/controlsContainment.html"/>
</controls>
<wsm label="Web Services">
<tutorial_wsm label="Tutorial" href="wsm/tutorial_wsm.html"/>
@@ -41,8 +46,9 @@
<sam_index label="Samples" href="samples/index.html"/>
<jpetstore label="Petstore" href="jpetstore.html"/>
<!--<dash label="Petstore Dashboard"
href="wsm/sample_Dashboard.html"/>-->
+ <db-sample label="Database Control"
href="controls/sample_controls-db.html"/>
<address label="AddressBook" href="wsm/sample_AddressBook.html"/>
- <db label="Database Control"
href="controls/sample_controls-db.html"/>
+ <wsm-samples label="WSM Annotation Samples"
href="wsm/sample_wsmAnnoSamples.html"/>
<control-blank label="Page Flow Project"
href="pageflow/sample_netui-blank.html"/>
<control-blank label="Control Project"
href="controls/sample_controls-blank.html"/>
<wsm-blank label="Web Service Project"
href="wsm/sample_wsm-blank.html"/>
@@ -63,6 +69,9 @@
<ws label="Web Services Javadoc"
href="apidocs/classref_wsm/index.html"/>
</ws>
</ref>
+ <dev label="Development">
+ <devmode label="Development Mode"
href="development/dev_mode.html"/>
+ </dev>
<gloss label="Glossary" href="glossary.html"/>
</docs>
<links label="Links" tab="welcome">
@@ -70,7 +79,7 @@
<controlhaus label="Controlhaus" href="http://www.controlhaus.com/"/>
<jira label="Bugs and Issues"
href="http://nagoya.apache.org/jira/secure/BrowseProject.jspa?id=10570"/>
<pollinate label="Pollinate" href="http://www.eclipse.org/pollinate/"/>
- <svn label="Browse SVN"
href="http://svn.apache.org/repos/asf/incubator/beehive/trunk/"/>
+ <svn label="Browse SVN"
href="http://svn.apache.org/viewcvs.cgi/incubator/beehive/"/>
</links>
</site>
<!--
Modified:
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/tabs.xml
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/tabs.xml?view=diff&r1=159717&r2=159718
==============================================================================
---
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/tabs.xml
(original)
+++
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/tabs.xml
Fri Apr 1 10:57:33 2005
@@ -17,6 +17,6 @@
be displayed when their parent tab is selected.
-->
- <tab id="welcome" label="Beehive" dir="" indexfile="index.html"/>
+ <tab id="welcome" label="Beehive 1.0 Beta" dir="" indexfile="index.html"/>
<!--<tab id="docs" label="Documentation" dir="docs"
indexfile="index.html"/>-->
</tabs>
Added:
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/tutorial/index.xml
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/tutorial/index.xml?view=auto&rev=159718
==============================================================================
---
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/tutorial/index.xml
(added)
+++
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/tutorial/index.xml
Fri Apr 1 10:57:33 2005
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
"http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Tutorial: Building a Database-Driven Web
Application</title>
+ </header>
+ <body>
+ <section id="intro">
+ <title>Introduction</title>
+ </section>
+ <section id="design_dbcontrol">
+ <title>Designing a Database Control</title>
+ </section>
+ </body>
+ <footer>
+ <legal>Java, J2EE, and JCP are trademarks or registered
trademarks of Sun Microsystems, Inc. in the United States and other
countries.<br/>
+ © 2004, Apache Software Foundation
+ </legal>
+ </footer>
+</document>
Propchange:
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/tutorial/index.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added:
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/tutorial/tut_dbdrivenwebapp.xml
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/tutorial/tut_dbdrivenwebapp.xml?view=auto&rev=159718
==============================================================================
---
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/tutorial/tut_dbdrivenwebapp.xml
(added)
+++
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/tutorial/tut_dbdrivenwebapp.xml
Fri Apr 1 10:57:33 2005
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
"http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Tutorial: Building a Database-Driven Web
Application</title>
+ </header>
+ <body>
+ <section id="intro">
+ <title>Introduction</title>
+ </section>
+ <section id="design_dbcontrol">
+ <title>Designing a Database Control</title>
+ <section><title>The JCX File</title>
+ <source>package org.apache.beehive.sample;
+
+import java.sql.SQLException;
+import java.io.Serializable;
+import java.util.Iterator;
+import java.util.HashMap;
+
+import org.apache.beehive.controls.api.bean.ControlExtension;
+import org.controlhaus.jdbc.JdbcControl;
+import org.controlhaus.jdbc.JdbcControl.ConnectionDataSource;
+import org.controlhaus.jdbc.JdbcControl.SQL;
+
[EMAIL PROTECTED]
[EMAIL PROTECTED](jndiName="jdbc:derby:build/databaseControlTestDB;create=true")
+public interface PetsDBControl extends JdbcControl
+{
+ @SQL(statement="CREATE TABLE PET ( id INT PRIMARY KEY NOT NULL, " +
+ "name VARCHAR(20), description VARCHAR(20), price
VARCHAR(15))")
+ public void createTable() throws SQLException;
+
+ @SQL(statement="DROP TABLE PET")
+ public void dropTable() throws SQLException;
+
+ @SQL(statement="INSERT INTO PET " +
+ "(id, name, description, price) " +
+ "VALUES ({pet.id}, {pet.name}, {pet.description},
{pet.price})")
+ public void insertPet(Pet pet) throws SQLException;
+
+ @SQL(statement="SELECT * FROM PET WHERE id={id}")
+ public Pet selectPet(int id) throws SQLException;
+
+ @SQL(statement="SELECT * FROM PET ORDER BY id")
+ public Pet[] selectPets() throws SQLException;
+
+ @SQL(statement="SELECT * FROM PET ORDER BY id",
iteratorElementType=Pet.class)
+ public Iterator selectPetsWithIterator() throws SQLException;
+
+ @SQL(statement="SELECT * FROM PET ORDER BY id")
+ public HashMap selectPetWithHashMap() throws SQLException;
+
+ @SQL(statement="SELECT * FROM PET ORDER BY id", maxRows=1)
+ public Pet[] selectOnePet() throws SQLException;
+
+ @SQL(statement="UPDATE PET SET price = {price} WHERE id = {id}")
+ public void changeTitle(int id, String price) throws SQLException;
+
+ @SQL(statement="DELETE FROM PET WHERE id = {id}")
+ public void deletePet(int id) throws SQLException;
+}</source></section>
+<section><title>Java Type for the DB Record</title>
+ <source>package org.apache.beehive.sample;
+
+import java.io.Serializable;
+
+public class Pet implements Serializable
+{
+ public int id;
+ public String name;
+ public String description;
+ public double price;
+
+ public Pet() {
+ }
+
+ public Pet(int id, String name, String description, double price) {
+ this.id = id;
+ this.name = name;
+ this.description = description;
+ this.price = price;
+ }
+}
+</source></section>
+ </section>
+ </body>
+ <footer>
+ <legal>Java, J2EE, and JCP are trademarks or registered
trademarks of Sun Microsystems, Inc. in the United States and other
countries.<br/>
+ © 2004, Apache Software Foundation
+ </legal>
+ </footer>
+</document>
Propchange:
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/tutorial/tut_dbdrivenwebapp.xml
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_AddressBook.xml
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_AddressBook.xml?view=diff&r1=159717&r2=159718
==============================================================================
---
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_AddressBook.xml
(original)
+++
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_AddressBook.xml
Fri Apr 1 10:57:33 2005
@@ -3,11 +3,11 @@
"http://forrest.apache.org/dtd/document-v20.dtd">
<document>
<header>
- <title>Beehive AddressBookWSSample</title>
+ <title>Beehive AddressBookWS and EnhancedAddressBookWS
Samples</title>
</header>
<body>
<section id="intro">
- <title>The AddressBookWS Sample</title>
+ <title>The Samples</title>
<p>The <strong>AddressBookWS</strong> sample is an
annotation-aware
web service based on the Apache Axis sample of
the same name.
AddressBookWS is organized as an application
with POJO (Plain
@@ -16,6 +16,9 @@
provides automatic client-generation and junit
test cases for
the sample. The directory structure and Ant
build file can be
used as a template for building new standalone
web services.</p>
+ <p>The <strong>EnhancedAddressBookWS</strong> sample is
a more comprehensive
+ version of the AddressBookWS sample: it uses
more metadata annotations,
+ has customized annotations properties, and
shows exception handling.</p>
<!--<p><strong>EmployeeWS</strong> provides a web
service interface for
an Employee database. Using SOAP messages, the
web service
queries the backend database: selecting,
updating and inserting
@@ -31,11 +34,11 @@
<p><!--Apache Derby supplies the database
implementation. (Installing
Derby requires a simple JAR file download,
described below.)-->
Apache Axis provides the automatic
client-generation for the
- web service. Custom unit tests are provided to
exercise the
- webservice methods. The unit tests create the
database table,
+ web services. Custom unit tests are provided to
exercise the
+ webservice methods. The unit tests create the
database tables,
insert new records, query the database, and
finally drop
- the table. Use the junit tests as a template
for building
- automatic tests for your own controls.</p>
+ the tables. Use the junit tests as a template
for building
+ automatic tests for your own web services</p>
</section>
<section id="running">
<title>Running the Samples</title>
@@ -85,9 +88,8 @@
</section>
<section id="setup_server">
<title>To Set up the Server</title>
- <section id="copy_app">
- <title>To Copy the Petstore Application
to a Project
- Folder</title>
+ <!--<section id="copy_app">
+ <title>To Copy the Application to a
Project Folder</title>
<p>To keep your Beehive distribution
directory pristine,
you should copy the
<code>AddressBookWS</code> and <code>EmployeeWS</code>
folders to
@@ -99,8 +101,13 @@
<source>C:
beehive_projects
wsm-addressbook
- <!--EmployeeWS--></source>
- </section>
+ EmployeeWS</source>
+ </section>-->
+ <section id="start_tomcat">
+ <title>To Start Tomcat</title>
+ <p>To start Tomcat, run the following
command:</p>
+ <source>%CATALINA_HOME%\bin\startup.bat</source>
+ </section>
<section id="external_jars">
<title>To Download Junit the JAR
File<!--and Derby JAR Files--></title>
<p>Download the junit ZIP archive from <a
@@ -113,25 +120,43 @@
<p>Unzip the archive, locate
<code>derby.jar</code>, and copy <code>derby.jar</code> to
<code>C:/beehive_projects/EmployeeWS/WEB-INF/lib</code>.</p>-->
</section>
-<section id="edit_build_file"><title>Edit the <code>build.xml</code>
File</title>
- <p>Open the following build file.</p>
-
<source>C:\beehive_projects\wsm-addressbook\WEB-INF\build.xml</source>
- <p>Edit the following line</p>
- <source> <import
file="../../../beehive-imports.xml" /></source>
- <p>so that it points to the
- <code>beehive-import.xml</code> file,
for example:</p>
- <source> <import
file="C:/apache/apache-beehive-1.0/beehive-imports.xml" /></source>
- </section>
+ <section id="edit_properties_file"><title>Edit the
<code>build.properties</code> Files</title>
+ <p>In this section you will edit the
<code>build.properties</code> files--the files
+ that set the build-related properties
for the web services.</p>
+ <p>Open the files
<code>BEEHIVE_HOME/samples/wsm-addressbook/WEB-INF/src/build.properties</code>
+ and
<code>BEEHIVE_HOME/samples/wsm-addressbook-enhanced/WEB-INF/src/build.properties</code>
+ in a text editor.</p>
+ <p>Edit the files so that the
<code>beehive.home</code> property points to the
+ top-level folder of your beehive
installation. For example, if you beehive installation
+ resides at
<code>C:/apache/apache-beehive-1.0</code>, then your
<code>build.properties</code> files
+ would appear as follows.</p>
+
<source>beehive.home=<strong>C:/apache/apache-beehive-1.0</strong></source>
+ </section>
<section id="compile">
- <title>To Compile the App</title>
+ <title>To Compile the Apps</title>
<p>To compile the AddressBookWS app, enter the following Ant
command.</p>
<source>ant
- -f C:\beehive_projects\wsm-addressbook\WEB-INF\build.xml
- build
+ -f %BEEHIVE_HOME%\samples\wsm-addressbook\WEB-INF\build.xml
+ -Dto.dir=%CATALINA_HOME%\webapps
+ clean
+ build
+ deploy
+
+<strong>Copy and paste version:</strong>
+
+ant -f %BEEHIVE_HOME%\samples\wsm-addressbook\WEB-INF\build.xml
-Dto.dir=%CATALINA_HOME%\webapps clean build deploy</source>
+
+ <p>To compile the EnhancedAddressBookWS
app, enter the following Ant command.</p>
+<source>ant
+ -f %BEEHIVE_HOME%\samples\wsm-addressbook-enhanced\WEB-INF\build.xml
+ -Dto.dir=%CATALINA_HOME%\webapps
+ clean
+ build
+ deploy
<strong>Copy and paste version:</strong>
-ant -f C:\beehive_projects\wsm-addressbook\WEB-INF\build.xml build</source>
+ant -f %BEEHIVE_HOME%\samples\wsm-addressbook-enhanced\WEB-INF\build.xml
-Dto.dir=%CATALINA_HOME%\webapps clean build deploy</source>
<!-- <p>To compile the EmployeeWS app, enter the following Ant
command.</p>
<source>ant
-f %BEEHIVE_HOME%\ant\buildWebapp.xml
@@ -141,88 +166,47 @@
<strong>Copy and paste version:</strong>
ant -f %BEEHIVE_HOME%\ant\buildWebapp.xml
-Dwebapp.dir=C:\beehive_projects\EmployeeWS build</source>-->
- </section>
- <section id="start_tomcat">
- <title>To Start Tomcat</title>
- <p>To start Tomcat, run the following
command:</p>
- <source>%CATALINA_HOME%\bin\startup.bat</source>
</section>
- <section id="deploy_to_tomcat">
- <title>To Deploy to Tomcat</title>
- <p>To deploy the applications, click the following links. We recommend
that you open the
- links in new browser windows. Each time you want to redeploy
an application,
- simply refresh the appropriate browser.</p>
- <p>This method of application deployment assumes that you have added
the <code>manager</code>
- role to your Tomcat installation. For instructions on adding
the <code>manager</code> role,
- see <a class="fork" href="../setup.html#optional">Beehive
Installation and Setup</a>.</p>
- <p class="quote">
- <a class="fork"
href="http://localhost:8080/manager/deploy?path=/AddressBookWS&war=file:C:/beehive_projects/wsm-addressbook&update=true">http://localhost:8080/manager/deploy?path=/AddressBookWS&war=file:C:/pageflow_projects/wsm-addressbook&update=true</a>
- </p>
-<!-- <p class="quote">
- <a class="fork"
href="http://localhost:8080/manager/deploy?path=/EmployeeWS&war=file:C:/beehive_projects/EmployeeWS&update=true">http://localhost:8080/manager/deploy?path=/EmployeeWS&war=file:C:/pageflow_projects/EmployeeWS&update=true</a>
- </p>-->
- <p>If you are prompted for a username/password, enter:
<code>manager/manager</code></p>
- <p>(For an explanation of this method of deploying an application to
Tomcat,
- see the Tomcat 5 documentation:
- <a class="fork"
href="http://jakarta.apache.org/tomcat/tomcat-5.0-doc/manager-howto.html#Deploy%20A%20New%20Application%20from%20a%20Local%20Path">Deploy
A New Application from a Local Path</a>)</p>
- </section>
<section id="verify_deploy"><title>To Verify the
Deployments</title>
- <p>Verify that the web service is running by
pointing your
+ <p>Verify that the web services is running by
pointing your
browser to:</p>
<p>
<a class="fork"
href="http://localhost:8080/AddressBookWS/">
http://localhost:8080/AddressBookWS/</a>
</p>
-<!-- <p>and</p>
- <p>
- <a class="fork"
href="http://localhost:8080/EmployeeWS/">
-
http://localhost:8080/EmployeeWS/</a>
- </p>-->
- <p>Follow the validation link (<a class="fork"
-
href="http://localhost:8080/AddressBookWS/happyaxis.jsp">http://localhost:8080/AddressBookWS/happyaxis.jsp</a>
- <!--and <a class="fork"
-
href="http://localhost:8080/EmployeeWS/happyaxis.jsp">http://localhost:8080/EmployeeWS/happyaxis.jsp</a>)
- -->
- to see the verification page.</p>
- <p>For the WSDLs visit</p>
+ <p>and</p>
<p>
- <a
href="http://localhost:8080/AddressBookWS/web/Service.jws?wsdl">http://localhost:8080/AddressBookWS/web/Service.jws?wsdl</a>
+ <a class="fork"
href="http://localhost:8080/EnhancedAddressBookWS/">
+
http://localhost:8080/EnhancedAddressBookWS/</a>
</p>
-<!-- <p>
- <a
href="http://localhost:8080/EmployeeWS/web/Service.jws?wsdl">http://localhost:8080/EmployeeWS/web/Service.jws?wsdl</a>
- </p>-->
+ <p>Follow the validation WSDL links for each
web service.</p>
</section>
</section>
<section id="setup_clients">
<title>To Run the Web Service Clients</title>
- <p>Open the following build file.</p>
-
<source>C:\beehive_projects\AddressBookWS\WEB-INF\build-client-dist.xml</source>
-
<!--<source>C:\beehive_projects\EmployeeWS\WEB-INF\build-client-dist.xml</source>-->
- <p>Edit the following line</p>
- <source> <import
file="../../../beehive-imports.xml" /></source>
- <p>so that it points to the
- <code>beehive-import.xml</code> file,
for example:</p>
- <source> <import
file="C:/apache/apache-beehive-1.0/beehive-imports.xml" /></source>
- <p>To generate and run the client, run the
following build file.</p>
-<source>ant -f
C:/beehive_projects/AddressBookWS/WEB-INF/build-client-dist.xml</source>
+
+ <p>To generate and run the client, run the
following build files.</p>
+<source>ant -f
%BEEHIVE_HOME%\samples\wsm-addressbook\WEB-INF\build-client.xml</source>
+<source>ant -f
%BEEHIVE_HOME%\samples\wsm-addressbook-enhanced\WEB-INF\build-client.xml</source>
<!-- <p>and</p>
<source>ant -f
C:/beehive_projects/EmployeeWS/WEB-INF/build-client-dist.xml</source>-->
- <p>Note that you do not need to run a
particular target within
+ <p>Note that you do not need to run a
particular target within the build files
<code>client-build.xml</code>. Simply
run the Ant command
- shown above and the client will be
generated in
+ shown above and the clients will be
generated in
<code>WEB-INF/build/generated</code>.</p>
- <p>The client consist of JUnit test cases that
exercise the
+ <p>The clients consist of JUnit test cases that
exercise the
contract published in the WSDL. The
final result shows the
number of successfully passed JUnit
tests.</p>
<p>The code generated in
<code>/WEB-INF/build/generated/</code>
can be used as a template to write your
own client side
applications.</p>
<p>Note that the client-build.xml script makes
certain
- assumptions about the Tomcat deployment
context path, namely, that the app is
- deployed
- on the context path
<code>AddressBookWS</code> <!--and <code>EmployeeWS</code>-->.
- If the context path differs from these
values, the URL in
- the build-client.xml file must be
adjusted accordingly. </p>
+ assumptions about the Tomcat deployment
context path, namely,
+ that the apps are deployed
+ on the context paths
+ <code>AddressBookWS</code> and
<code>EnhancedAddressBookWS</code> <!--and <code>EmployeeWS</code>-->.
+ If the context paths differ from these
values, the URL in
+ the build-client.xml files must be
adjusted accordingly. </p>
</section>
</section>
</body>
Modified:
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_wsm-blank.xml
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_wsm-blank.xml?view=diff&r1=159717&r2=159718
==============================================================================
---
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_wsm-blank.xml
(original)
+++
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_wsm-blank.xml
Fri Apr 1 10:57:33 2005
@@ -31,49 +31,40 @@
the renamed <code>wsm-blank</code> is
<strong><code><Project-Folder></code></strong>. </p>
</section>
- <section id="copy_runtime">
- <title>Copy the Runtime JARs into the Template
Folder</title>
- <p>Copy the runtime JARs to the project's
WEB-INF/lib
- directory.</p>
- <p>The following Ant command will copy the
necessary runtime JARs to
-
<code><Project-Folder>/WEB-INF/lib</code>.</p>
-<source>ant -f
- %BEEHIVE_HOME%\ant\webappRuntimeCore.xml
- -Dwebapp.dir=<strong><Path-to-Project-Folder></strong>
- deploy.wsm.webapp.runtime
-
-<strong>Copy and paste version:</strong>
-
-ant -f %BEEHIVE_HOME%\ant\webappRuntimeCore.xml
-Dwebapp.dir=<strong><Path-to-Project-Folder></strong>
deploy.wsm.webapp.runtime</source>
- </section>
- <section><title>Build the Template Web App</title>
- <p>To build the template web service, run the
following Ant command.</p>
+ <section id="edit_properties_file"><title>Edit the
<code>build.properties</code> File</title>
+ <p>In this section you will edit the
<code>build.properties</code> file--the file
+ that sets the build-related properties
for your web service.</p>
+ <p>Open the file
<code><Project-Folder>/WEB-INF/src/build.properties</code>
+ in a text editor.</p>
+ <p>Edit the <code>beehive.home</code> property
points to the
+ top-level folder of your beehive
installation.</p>
+ <p>Add the line
<strong><code>service.name=<SomeContext></code></strong> (as shown
below).</p>
+ <p>For example, if your beehive installation
+ resides at
<code>C:/apache/apache-beehive-1.0</code>, then your
<code>build.properties</code> file
+ would appear as follows.</p>
+
<source>beehive.home=<strong>C:/apache/apache-beehive-1.0</strong>
+<strong>service.name=<SomeContext></strong></source>
+<p><strong>Note:</strong> the value of <SomeContext> will determine (1) the
name of the WAR file
+ produced when the web service is compiled and the (2) part of the URL
used by Tomcat to
+ access the web service.</p>
+ <p>The WAR file will be named
<code><SomeContext>WS.war</code></p>
+ <p>The URL will be
<code>http://localhost:8080/<SomeContext>/</code></p>
+ </section>
+ <section><title>Build and Deploy the Template Web
App</title>
+ <p>To build the template web service and deploy
it the resulting WAR file, run the following Ant command.</p>
+ <p>The following command assumes that you are
using Tomcat server.</p>
<source>ant
- -f %BEEHIVE_HOME%\ant\buildWebapp.xml
- -Dwebapp.dir=<strong><Path-to-Project-Folder></strong>
- build
-
-<strong>Copy and paste version:</strong>
+ -f <Project-Folder>WEB-INF\build.xml
+ -Dto.dir=%CATALINA_HOME%\webapps
+ clean
+ build
+ deploy
-ant -f %BEEHIVE_HOME%\ant\buildWebapp.xml
-Dwebapp.dir=<strong><Path-to-Project-Folder></strong> build</source>
+<strong>Copy and Paste version:</strong>
+ant -f <Project-Folder>\WEB-INF\build.xml -Dto.dir=%CATALINA_HOME%\webapps
clean build deploy</source>
</section>
<section>
- <title>To Deploy and Run the Template Web
Service</title>
- <p>Before deploying the web service, ensure
that Tomcat is turned on.</p>
-<source>%CATALINA_HOME%\bin\startup.bat</source>
- <p>To deploy the web service, visit the following URL in a web browser.
(We recommend that you open the
- link in a new browser window. Each time you want to redeploy
the application,
- simply refresh the browser.)</p>
- <p>In the URL below, replace <strong><SomeContext></strong> with
some string that is appropriate for
-your web service.
- Replace <strong><Path-to-Project-Folder></strong> with the
path to your project folder.</p>
- <p class="quote">
-
http://localhost:8080/manager/deploy?path=/<strong><SomeContext></strong>&war=file:<strong><Path-to-Project-Folder></strong>&update=true
- </p>
- <p>This method of application deployment assumes that you have added
the <code>manager</code>
- role to your Tomcat installation. For instructions on adding
the <code>manager</code> role,
- see <a class="fork" href="../setup.html#optional">Beehive
Installation and Setup</a>.</p>
- <p>If you are prompted for a username/password, enter:
<code>manager/manager</code></p>
+ <title>To Run the Template Web Service</title>
<p>You can now try out the web service by
pointing your browser at
the following link.</p>
<ul>
Added:
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_wsmAnnoSamples.xml
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_wsmAnnoSamples.xml?view=auto&rev=159718
==============================================================================
---
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_wsmAnnoSamples.xml
(added)
+++
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_wsmAnnoSamples.xml
Fri Apr 1 10:57:33 2005
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+ "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>WSM Annotation Samples</title>
+ </header>
+ <body>
+ <section id="intro">
+ <title>Introduction</title>
+ <p>This sample demonstrates the different
+ metadata annotations available to a Beehive web
service.
+ The sample takes the form of a web site (with
web service backends)
+ with links to SOAP resonses for different
requests of the web services.
+ </p>
+ </section>
+ <section id="running">
+ <title>Running the Sample</title>
+ <section id="reqs">
+ <title>Requirements for Running the
Samples</title>
+ <p>To run the Samples, you need:</p>
+ <ul>
+ <li>Beehive</li>
+ <li>Tomcat 5</li>
+ <li>J2SE 5</li>
+ <li>Ant 1.6.2</li>
+ </ul>
+ </section>
+ <section id="enviro">
+ <title>To Set up the Environment</title>
+ <p>Before proceeding, complete all of the
necessary and
+ optional steps in the following topic:
<a class="fork"
+ href="../setup.html">Beehive
Installation and Setup</a></p>
+ <p>Open a command shell and confirm that the
following
+ variables have been set:</p>
+ <ul>
+ <li>
+ <code>ANT_HOME</code>
+ </li>
+ <li>
+ <code>BEEHIVE_HOME</code>
+ </li>
+ <li>
+ <code>CATALINA_HOME</code>
+ </li>
+ <li>
+ <code>JAVA_HOME</code>
+ </li>
+ </ul>
+ <p>Also ensure that the following elements are
on your
+ <code>PATH</code>:</p>
+ <ul>
+ <li>
+ <code>ANT_HOME/bin</code>
+ </li>
+ <li>
+ <code>JAVA_HOME/bin</code>
+ </li>
+ </ul>
+ </section>
+ <section id="setup_server">
+ <title>To Set up the Server</title>
+ <section id="start_tomcat">
+ <title>To Start Tomcat</title>
+ <p>To start Tomcat, run the following
command:</p>
+ <source>%CATALINA_HOME%\bin\startup.bat</source>
+ </section>
+ <section id="edit_properties_file"><title>Edit the
<code>build.properties</code> Files</title>
+ <p>In this section you will edit the
<code>build.properties</code> files--the files
+ that set the build-related properties
for the web services.</p>
+ <p>Open the file
+
<code>BEEHIVE_HOME/samples/wsm-sample/WEB-INF/src/build.properties</code>
+ in a text editor.</p>
+ <p>Edit the file so that the
<code>beehive.home</code> property points to the
+ top-level folder of your beehive
installation. For example, if you beehive installation
+ resides at
<code>C:/apache/apache-beehive-1.0</code>,
+ then your <code>build.properties</code>
file
+ would appear as follows.</p>
+
<source>beehive.home=<strong>C:/apache/apache-beehive-1.0</strong></source>
+ </section>
+ <section id="compile">
+ <title>To Compile the App</title>
+ <p>To compile the app, enter the following Ant command.</p>
+<source>ant
+ -f %BEEHIVE_HOME%\samples\wsm-sample\WEB-INF\build.xml
+ -Dto.dir=%CATALINA_HOME%\webapps
+ clean
+ build
+ deploy
+
+<strong>Copy and paste version:</strong>
+
+ant -f %BEEHIVE_HOME%\samples\wsm-samples\WEB-INF\build.xml
-Dto.dir=%CATALINA_HOME%\webapps clean build deploy</source>
+
+ </section>
+ <section id="test_the_app"><title>To Test the Samples</title>
+ <p>Verify that the web services is running by
pointing your
+ browser to:</p>
+ <p>
+ <a class="fork"
href="http://localhost:8080/wsm-samplesWS/">
+
http://localhost:8080/wsm-samplesWS/</a>
+ </p>
+ <p>Follow the links for demonstrations of
different metadata annotations.</p>
+ </section>
+ </section>
+</section>
+ </body>
+ <footer>
+ <legal>Java, J2EE, and JCP are trademarks or registered
trademarks of
+ Sun Microsystems, Inc. in the United States and other
+ countries.<br/> © 2004, Apache Software Foundation
</legal>
+ </footer>
+</document>
\ No newline at end of file
Propchange:
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_wsmAnnoSamples.xml
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/tutorial_wsm.xml
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/tutorial_wsm.xml?view=diff&r1=159717&r2=159718
==============================================================================
---
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/tutorial_wsm.xml
(original)
+++
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/tutorial_wsm.xml
Fri Apr 1 10:57:33 2005
@@ -39,18 +39,6 @@
<li><code>JAVA_HOME/bin</code></li>
</ul>
</section>
- <section id="start_tomcat">
- <title>To Start the Tomcat Server</title>
- <p>At the command prompt, enter:</p>
- <source>%CATALINA_HOME%\bin\startup.bat</source>
- </section>
- </section>
- <section id="step_2">
- <title>Step 2: Install the Web Service Template</title>
- <!--<section>
- <title>Introduction</title>
- <p>[todo]</p>
- </section>-->
<section id="make_project">
<title>To Make a Project Folder Using the Web Service
Application Template</title>
<p>On your C: drive, create a directory called
<code>beehive_projects</code>.</p>
@@ -66,18 +54,34 @@
happyaxis.jsp
index.html</source>
</section>
- <section id="copy_JARs">
- <title>To Copy Runtime JARs into the Project Folder</title>
- <p>At the command prompt, enter the following ant command.</p>
- <source>ant
- -f %BEEHIVE_HOME%\ant\webappRuntimeCore.xml
- -Dwebapp.dir=C:\beehive_projects\ws_tutorial
- deploy.wsm.webapp.runtime
-
-<strong>Copy and paste version:</strong>
-ant -f %BEEHIVE_HOME%\ant\webappRuntimeCore.xml
-Dwebapp.dir=C:\beehive_projects\ws_tutorial deploy.wsm.webapp.runtime</source>
- </section>
- <section id="examine_JWS">
+ <section id="edit_properties_file"><title>Edit the
<code>build.properties</code> File</title>
+ <p>In this section you will edit the
<code>build.properties</code> file--the file
+ that sets the build-related properties
for your web service application.</p>
+ <p>Open the file
<code>C:/beehive_projects/ws_tutorial/WEB-INF/build.properties</code>
+ in a text editor.</p>
+ <p>Edit the <code>beehive.home</code> property
points to the
+ top-level folder of your beehive
installation.</p>
+ <p>Add the line
<strong><code>service.name=tutorial</code></strong> (as shown below).</p>
+ <p>For example, if your beehive installation
+ resides at
<code>C:/apache/apache-beehive-1.0</code>, then your
<code>build.properties</code> file
+ would appear as follows.</p>
+
<source>beehive.home=<strong>C:/apache/apache-beehive-1.0</strong>
+<strong>service.name=tutorial</strong></source>
+ </section>
+
+ <section id="start_tomcat">
+ <title>To Start the Tomcat Server</title>
+ <p>At the command prompt, enter:</p>
+ <source>%CATALINA_HOME%\bin\startup.bat</source>
+ </section>
+ </section>
+ <section id="step_2">
+ <title>Step 2: Run the Web Service Template</title>
+ <!--<section>
+ <title>Introduction</title>
+ <p>[todo]</p>
+ </section>-->
+ <section id="examine_JWS">
<title>To Examine the Blank.jws Web Service</title>
<p>You are now ready to compile and run the template web
service already included
in the project folder--but before we
run the web service, let's first look at the code.</p>
@@ -98,24 +102,22 @@
<source>package web;
...
import javax.jws.WebMethod;
-import javax.jws.WebParam;
import javax.jws.WebService;
-<strong>@WebService</strong>
-public class Blank
-{
- <strong>@WebMethod</strong>
- public String
sayHelloWorld(<strong>@WebParam</strong>(name="name",header=true) String s)
- {
[EMAIL PROTECTED]
+public class Blank {
+
+ @WebMethod
+ public String sayHelloWorld(String s) {
return "Hello world, " + s + "!";
}
-}</source>
+}
+</source>
<p>If you are familiar with Java code, everything probably looks familiar to
you,
although these two elements may be new:</p>
<source>
@WebService
@WebMethod
- @WebParam
</source>
<p><code>@WebService</code>, <code>@WebMethod</code>, and
<code>@WebParam</code> are "metadata annotations", a.k.a. "annotations".
Annotations allow you to set properties on Java classes and methods.
They can be used to generate
@@ -126,37 +128,27 @@
that Blank is a web service that listens for SOAP messages and responds
in kind.</p>
<p><code>@WebMethod</code> annotates the method
sayHelloWorld(): this tells the runtime that the
method can be invoked over the web.</p>
- <p><code>@WebParam</code> tells the runtime that the
<code>sayHelloWorld()</code> method
+ <!--<p><code>@WebParam</code> tells the runtime that the
<code>sayHelloWorld()</code> method
accepts a parameter. (Note that the parameter is only an OUT
parameter. We will
- add an IN parameter, and explain the difference between OUT and
IN parameters, in a future step.)</p>
+ add an IN parameter, and explain the difference between OUT and
IN parameters, in a future step.)</p>-->
</section>
<section id="compile_2">
<title>To Compile and Deploy the Web Service</title>
- <p>In this step you will compile the web service and deploy it
to Tomcat.</p>
- <source>ant
- -f %BEEHIVE_HOME%\ant\buildWebapp.xml
- -Dwebapp.dir=C:\beehive_projects\ws_tutorial
- build
-
-<strong>Copy and paste version:</strong>
-ant -f %BEEHIVE_HOME%\ant\buildWebapp.xml
-Dwebapp.dir=C:\beehive_projects\ws_tutorial build</source>
- <p>To deploy the web service, click the following link.
- </p>
- <p>We recommend that you open the
- link in a new browser window. Each time you want to redeploy
the application,
- simply refresh the browser.
- (Also, make sure that your Tomcat server is running, or the
following step will fail.)</p>
- <p class="quote">
- <a class="fork"
href="http://localhost:8080/manager/deploy?path=/ws_tutorial&war=file:C:/beehive_projects/ws_tutorial&update=true">http://localhost:8080/manager/deploy?path=/ws_tutorial&war=file:C:/beehive_projects/ws_tutorial&update=true</a>
- </p>
- <p>If you are prompted for a username/password, enter:
<strong>manager/manager</strong></p>
- <p>(For an explanation of this method of deploying an application to
Tomcat,
- see the Tomcat 5 documentation:
- <a class="fork"
href="http://jakarta.apache.org/tomcat/tomcat-5.0-doc/manager-howto.html#Deploy%20A%20New%20Application%20from%20a%20Local%20Path">Deploy
A New Application from a Local Path</a>)</p>
+ <p>You are now ready to compile the web service and deploy it
to Tomcat.</p>
+ <p>At the command prompt, enter:</p>
+<source>ant
+ -f C:\beehive_projects\ws_tutorial\WEB-INF\build.xml
+ -Dto.dir=%CATALINA_HOME%\webapps
+ clean
+ build
+ deploy
+
+<strong>Copy and Paste version:</strong>
+ant -f C:\beehive_projects\ws_tutorial\WEB-INF\build.xml
-Dto.dir=%CATALINA_HOME%\webapps clean build deploy</source>
</section>
<section id="run_2">
<title>To Run the Web Service</title>
- <p>Visit the index.jsp page: <a class="fork"
href="http://localhost:8080/ws_tutorial/index.html">http://localhost:8080/ws_tutorial/index.html</a>.</p>
+ <p>Visit the index.jsp page: <a class="fork"
href="http://localhost:8080/tutorialWS/index.html">http://localhost:8080/tutorialWS/index.html</a>.</p>
<p>Click the "Validate" link for an evaluation of the
resources available to your web service. Note that you will need to download
additional resources to take full advantage of Beehive web services. For
example, for Axis to work properly with SOAP attachments, additional, external
jars (activation.jar and mailapi.jar) are required. You will download those
resources in later steps in the tutorial.</p>
<p>Click the "WSDL" link to see the web service's WSDL. </p>
<p>Click the "sayHelloWorld()" link to see a SOAP response
from the web service's sayHelloWorld() method.</p>
@@ -173,18 +165,17 @@
<source>package web;
...
import javax.jws.WebMethod;
-import javax.jws.WebParam;
import javax.jws.WebService;
+<strong>import javax.jws.WebParam;</strong>
@WebService
-public class Blank
-{
+public class Blank {
+
@WebMethod
- public String sayHelloWorld(@WebParam(name="name",header=true) String s)
- {
+ public String sayHelloWorld(String s) {
return "Hello world, " + s + "!";
}
-
+
<strong>@WebMethod
public String sayHelloWorldInParam( @WebParam String greetee )
{
@@ -193,30 +184,28 @@
return "Hello, " + greetee + "!";
}</strong>
-}</source>
+}
+</source>
<p>The <code>@WebParam</code> you just added lets you pass a String parameter
to the method over the web.</p>
</section>
<section id="compile_3">
<title>To Compile and Redeploy the Web Service</title>
- <p>At the command prompt, enter the following Ant command.</p>
- <source>ant
- -f %BEEHIVE_HOME%\ant\buildWebapp.xml
- -Dwebapp.dir=C:\beehive_projects\ws_tutorial
- build
-
-<strong>Copy and paste version:</strong>
-ant -f %BEEHIVE_HOME%\ant\buildWebapp.xml
-Dwebapp.dir=C:\beehive_projects\ws_tutorial build</source>
- <p>To redeploy the web service, click the following link.
- (Or, if you have the link below
- open in a dedicated browser window, refresh that browser
window.)</p>
- <p class="quote">
- <a class="fork"
href="http://localhost:8080/manager/deploy?path=/ws_tutorial&war=file:C:/beehive_projects/ws_tutorial&update=true">http://localhost:8080/manager/deploy?path=/ws_tutorial&war=file:C:/beehive_projects/ws_tutorial&update=true</a>
- </p>
+ <p>To compile the web service and deploy it to Tomcat.</p>
+ <p>At the command prompt, enter:</p>
+<source>ant
+ -f C:\beehive_projects\ws_tutorial\WEB-INF\build.xml
+ -Dto.dir=%CATALINA_HOME%\webapps
+ clean
+ build
+ deploy
+
+<strong>Copy and Paste version:</strong>
+ant -f C:\beehive_projects\ws_tutorial\WEB-INF\build.xml
-Dto.dir=%CATALINA_HOME%\webapps clean build deploy</source>
</section>
<section id="test_3">
<title>To Test the Parameterized Method</title>
<p>Enter the following URL in the address bar of your browser.
</p>
- <p><a class="fork"
href="http://localhost:8080/ws_tutorial/web/Blank.jws?method=sayHelloWorldInParam&greetee=Moon">http://localhost:8080/ws_tutorial/web/Blank.jws?method=sayHelloWorldInParam&greetee=Moon</a></p>
+ <p><a class="fork"
href="http://localhost:8080/tutorialWS/web/Blank.jws?method=sayHelloWorldInParam&greetee=Moon">http://localhost:8080/tutorialWS/web/Blank.jws?method=sayHelloWorldInParam&greetee=Moon</a></p>
<p>The following SOAP response appears in the browser:</p>
<source><![CDATA[<soapenv:Envelope>
<soapenv:Body>
@@ -235,18 +224,17 @@
<source>package web;
...
import javax.jws.WebMethod;
-import javax.jws.WebParam;
import javax.jws.WebService;
+import javax.jws.WebParam;
@WebService
-public class Blank
-{
+public class Blank {
+
@WebMethod
- public String sayHelloWorld(@WebParam(name="name",header=true) String s)
- {
+ public String sayHelloWorld(String s) {
return "Hello world, " + s + "!";
}
-
+
@WebMethod
public String sayHelloWorldInParam( @WebParam String greetee )
{
@@ -254,7 +242,7 @@
{ greetee = "World"; }
return "Hello, " + greetee + "!";
- }
+ }
<strong>public String sayNothingOverTheWeb()
{
@@ -266,25 +254,22 @@
</section>
<section id="compile_4">
<title>To Compile and Redeploy the Web Service</title>
- <p>At the command prompt, enter the following Ant command.</p>
- <source>ant
- -f %BEEHIVE_HOME%\ant\buildWebapp.xml
- -Dwebapp.dir=C:\beehive_projects\ws_tutorial
- build
-
-<strong>Copy and paste version:</strong>
-ant -f %BEEHIVE_HOME%\ant\buildWebapp.xml
-Dwebapp.dir=C:\beehive_projects\ws_tutorial build</source>
- <p>To redeploy the web service, click the following link.
- (Or, if you have the link below
- open in a dedicated browser window, refresh that browser
window.)</p>
- <p class="quote">
- <a class="fork"
href="http://localhost:8080/manager/deploy?path=/ws_tutorial&war=file:C:/beehive_projects/ws_tutorial&update=true">http://localhost:8080/manager/deploy?path=/ws_tutorial&war=file:C:/beehive_projects/ws_tutorial&update=true</a>
- </p>
+ <p>To compile the web service and deploy it to Tomcat.</p>
+ <p>At the command prompt, enter:</p>
+<source>ant
+ -f C:\beehive_projects\ws_tutorial\WEB-INF\build.xml
+ -Dto.dir=%CATALINA_HOME%\webapps
+ clean
+ build
+ deploy
+
+<strong>Copy and Paste version:</strong>
+ant -f C:\beehive_projects\ws_tutorial\WEB-INF\build.xml
-Dto.dir=%CATALINA_HOME%\webapps clean build deploy</source>
</section>
<section id="test_4">
<title>To Test the Non-Web Invokable Method</title>
<p>Enter the following URL in the address bar of your browser.
</p>
- <p><a class="fork"
href="http://localhost:8080/ws_tutorial/web/Blank.jws?method=sayNothingOverTheWeb">http://localhost:8080/ws_tutorial/web/Blank.jws?method=sayNothingOverTheWeb</a></p>
+ <p><a class="fork"
href="http://localhost:8080/tutorialWS/web/Blank.jws?method=sayNothingOverTheWeb">http://localhost:8080/tutorialWS/web/Blank.jws?method=sayNothingOverTheWeb</a></p>
<p>The following SOAP response appears in the browser,
indicating that the method sayNothingOverTheWeb() cannot be invoked through the
web service (although it can be called by other methods within the web
service).</p>
<source><![CDATA[<soapenv:Envelope>
<soapenv:Body>
@@ -338,25 +323,22 @@
</section>
<section id="compile_5">
<title>To Compile and Redeploy the Web Service</title>
- <p>At the command prompt, enter the following Ant command.</p>
- <source>ant
- -f %BEEHIVE_HOME%\ant\buildWebapp.xml
- -Dwebapp.dir=C:\beehive_projects\ws_tutorial
- build
-
-<strong>Copy and paste version:</strong>
-ant -f %BEEHIVE_HOME%\ant\buildWebapp.xml
-Dwebapp.dir=C:\beehive_projects\ws_tutorial build</source>
- <p>To redeploy the web service, click the following link.
- (Or, if you have the link below
- open in a dedicated browser window, refresh that browser
window.)</p>
- <p class="quote">
- <a class="fork"
href="http://localhost:8080/manager/deploy?path=/ws_tutorial&war=file:C:/beehive_projects/ws_tutorial&update=true">http://localhost:8080/manager/deploy?path=/ws_tutorial&war=file:C:/beehive_projects/ws_tutorial&update=true</a>
- </p>
+ <p>To compile the web service and deploy it to Tomcat.</p>
+ <p>At the command prompt, enter:</p>
+<source>ant
+ -f C:\beehive_projects\ws_tutorial\WEB-INF\build.xml
+ -Dto.dir=%CATALINA_HOME%\webapps
+ clean
+ build
+ deploy
+
+<strong>Copy and Paste version:</strong>
+ant -f C:\beehive_projects\ws_tutorial\WEB-INF\build.xml
-Dto.dir=%CATALINA_HOME%\webapps clean build deploy</source>
</section>
<section id="test_5">
<title>To Test the SOAP-encoded Style</title>
<p>Enter the following URL in the address bar of your browser.
</p>
- <p><a class="fork"
href="http://localhost:8080/ws_tutorial/web/Blank.jws?method=sayHelloWorldInParam&greetee=Moon">http://localhost:8080/ws_tutorial/web/Blank.jws?method=sayHelloWorldInParam&greetee=Moon</a></p>
+ <p><a class="fork"
href="http://localhost:8080/tutorialWS/web/Blank.jws?method=sayHelloWorldInParam&greetee=Moon">http://localhost:8080/tutorialWS/web/Blank.jws?method=sayHelloWorldInParam&greetee=Moon</a></p>
<p>The following SOAP response appears in the browser. Compare
the RPC style below with the DOC style above.</p>
<source><![CDATA[<soapenv:Envelope>
<soapenv:Body>
Added:
incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/categoryGrid1.gif
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/categoryGrid1.gif?view=auto&rev=159718
==============================================================================
Binary file - no diff available.
Propchange:
incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/categoryGrid1.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/categoryGrid2.gif
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/categoryGrid2.gif?view=auto&rev=159718
==============================================================================
Binary file - no diff available.
Propchange:
incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/categoryGrid2.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/categoryGrid3.gif
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/categoryGrid3.gif?view=auto&rev=159718
==============================================================================
Binary file - no diff available.
Propchange:
incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/categoryGrid3.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/categoryGrid4.gif
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/categoryGrid4.gif?view=auto&rev=159718
==============================================================================
Binary file - no diff available.
Propchange:
incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/categoryGrid4.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/categoryGrid5.gif
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/categoryGrid5.gif?view=auto&rev=159718
==============================================================================
Binary file - no diff available.
Propchange:
incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/categoryGrid5.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: incubator/beehive/trunk/docs/forrest/src/documentation/skinconf.xml
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/skinconf.xml?view=diff&r1=159717&r2=159718
==============================================================================
--- incubator/beehive/trunk/docs/forrest/src/documentation/skinconf.xml
(original)
+++ incubator/beehive/trunk/docs/forrest/src/documentation/skinconf.xml Fri Apr
1 10:57:33 2005
@@ -27,7 +27,7 @@
no search box. @domain will enable sitesearch for the specific domain with
google.
In other words google will search the @domain for the query string.
-->
- <search name="Beehive" domain="apache" provider="google"/>
+ <search name="Beehive" domain="apache.com" provider="google"/>
<!-- Disable the print link? If enabled, invalid HTML 4.0.1 -->
<disable-print-link>true</disable-print-link>
<!-- Disable the PDF link? -->
@@ -147,14 +147,9 @@
font-weight: bold;
font-size: 99%;
}
-<!--.ForrestTable2 { width: 90%; background-color: #7099C5; color: #ffffff;
font-size : 90%; cellpadding: 10; }
-.ForrestTable2 th a:link { color: white; }
-.ForrestTable2 th a:visited { color: #cfdced; }
-.ForrestTable2 th a:active { color: #000066; }
-.ForrestTable2 th a:hover { color: #000066; }
-.ForrestTable2 caption { text-align: left; color: black; font-weight: bold; }
-.ForrestTable2 th { text-align: center; }
-.ForrestTable2 td { background-color: #f0f0ff; color: black;}-->
+ p.filename {
+ margin-left: 2em;
+ }
</extra-css>
<colors>
<!-- These values are used for the generated CSS files. -->
Modified: incubator/beehive/trunk/docs/updating_livesite.txt
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/updating_livesite.txt?view=diff&r1=159717&r2=159718
==============================================================================
--- incubator/beehive/trunk/docs/updating_livesite.txt (original)
+++ incubator/beehive/trunk/docs/updating_livesite.txt Fri Apr 1 10:57:33 2005
@@ -61,7 +61,7 @@
This will build a ZIP file called "site.zip" and save it at
- /build/dist/archives/site.zip
+ /beehive/trunk/build/dist/archives/site.zip
Note: this ZIP file has *no* top-level directory. If you unzip it, it will
spew files all over the directory you unzip it into. For this reason, you
should
@@ -80,7 +80,7 @@
Run the following commmand:
- pscp -pw [password] site.zip [EMAIL
PROTECTED]:/www/incubator.apache.org/beehive/[target_dir]
+ pscp -pw [password] site.zip [EMAIL
PROTECTED]:/www/incubator.apache.org/beehive/[target_dir]
[password] - your password on cvs.apache.org
[username] - your username on cvs.apache.org
@@ -108,10 +108,10 @@
For example, to recursively remove the all contents of the directory 'foo',
use the
following command:
- rm -r foo
+ rm -r foo.
To ignore write-protection in the directory, use:
- rm -r -f foo
+ rm -r -f foo.
Obviously: be careful when deleting content from the site!