You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by Chad Schoettger <ch...@gmail.com> on 2006/07/24 04:20:47 UTC

The Web Service System Control

After a lot of work I think the Web Service System Control is ready to become
part of the Beehive distribution.  The following work has been completed:

  * Coding
  * Test
  * Documentation
  * Samples
  * Ant Macros

If the community decides to add the web service control to the Beehive
distribution
some additional build work still needs to be done in order to get
everything wired
into the distribution.

Web Service Control Source
---------------------------
  system-controls/src/webservice

 The source is structured as follows:

    system-controls/src/webservice/control -
      The core control code, JAX-RPC implementation independent.

    system-controls/src/webservice/jaxrpc-clients -
      JAX-RPC support, organized by provider, currently the only
provider supported
      is Apache Axis.

    system-controls/src/webservice/webservice-utils -
      Code which was formerly shared with WSM, specific to mapping
      java types -> xml types / xml types -> java types.


Web Service Control Tests
--------------------------
  system-controls/test/webservice

  There are approximately 200 tests in the test suite.  The DRTs can
be run from
  the system-controls/test/webservice directory on the command line by 'ant drt'

 Tests include:
  *) Standalone Junit tests for web service control generation.
  *) Runtime tests which use the ControlTestCase Junit container and are
     categorized by service types, subcategorized by type generation.

     Service types:
     *) Doc Lit Wrapped
     *) Doc Lit Bare
     *) RPC Lit
     *) RPC Encoded

     Within each service type the following categories for type
generation from the WSDL:
     *) Axis generation
     *) pojo
     *) XML Beans
     *) schema types (no generation)


Web Service Control Samples
---------------------------

  Two new WSC samples have been created.  Both sample use the new
'generate-wsc'
  Ant macro.  The generate-wsc macro can generate and build a web
service control
  from a WSDL URL, a single WSDL file or a directory of WSDL files.
Full documentation
  of the generate-wsc macro can be found in the Web Service Control's
User Guide.

  Eventually I would envision that this macro lives in the
beehive-tools.xml Ant file,
  for right now it can be found in the
system-controls/samples/webservice/ant/beehive-wsc-tools.xml file.

 * Axis-Client Sample
   Location: system-controls/samples/webservice/axis-client

   A Web Service Control is generated from the supplied Axis web service.  The
   steps necessary to build and run this sample are included in the
sample's README file.

  * Interop-Client Sample
   Location: system-control/samples/webservice/interop-client

  This sample generates a WSC from a remote web service and then uses
the WSC to
  access the web service.  The web service used by this sample is a
.NET service.
  The steps necessary to build and run this sample are included in the sample's
  README file.

  NOTE: The samples are in a bit of a funny state.  They are designed
to run as part of a Beehive distribution but aren't included in the
distribution yet.  To run them, build a Beehive distribution, then run
the samples from their location in the Beehive source tree.

Web Service Control Documentation
----------------------------------

 The Web Service Control documentation has not yet been wired into the doc web,
  the following files have been checked into svn:

  docs/forrest/release/src/documentation/content/xdocs/system-controls/wsc

  tutorial.xml -
 The tutorial for the Web Service Control which guides the reader
though adding a
  Web Service Control to their project, generating java classes from
WSDL types,
  generating and building a Web Service Control and testing using JUnit.

  guide.xml -
 The user's guide for the Web Service Control.  Topics covered include:
  - Supported Web services
  - External dependencies
  - Adding a Web Service Control to a project
  - WSDL Type -> Java Class generation
  - Web Service Control Generation
  - Web Service Control API
  - Modifying a Web Service Control
  - JAX-RPC Handler Support
  - Documentation of the Web Service Control Ant Tasks & Macros