You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pubscribe-commits@ws.apache.org by jr...@apache.org on 2005/07/15 01:55:06 UTC
svn commit: r219140 - in
/webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide: index.xml
producer.xml subscription.xml wsdl.xml wsdl_tool.xml
Author: jruzzi
Date: Thu Jul 14 16:55:05 2005
New Revision: 219140
URL: http://svn.apache.org/viewcvs?rev=219140&view=rev
Log:
new topics for the dev guide
Added:
webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/producer.xml
webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/subscription.xml
webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/wsdl.xml
webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/wsdl_tool.xml
Modified:
webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/index.xml
Modified: webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/index.xml
URL: http://svn.apache.org/viewcvs/webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/index.xml?rev=219140&r1=219139&r2=219140&view=diff
==============================================================================
--- webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/index.xml (original)
+++ webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/index.xml Thu Jul 14 16:55:05 2005
@@ -6,10 +6,83 @@
</header>
<body>
<section>
- <title>Overview</title>
- <p>
- TODO
- </p>
+ <title>About this Guide</title>
+ <p>The Developer Guide provides instructions for using many of the features that are included in Pubscribe. If you are new to this project, you should start
+ with the <a href="site:overview">Getting Started</a> and the <a href="site:tut">Tutorial</a> before reading this guide. They provide a good starting point for
+ learning how to use Pubscribe.</p>
+ <note>Pubscribe is tightly integrated with <a href="ext:wsrf">Apache WSRF</a> as its WSRF foundation. While it is not required, it is a good idea to start with Apache WSRF.
+ You should also consult the Apache WSRF documentation while completing the instructions in this document. All of the tasks required in Apache WSRF are also required in
+ Pubscribe.
+ </note>
+ <p>The Developer guide often refers to different parts of the <a href="site:wsn">Web Services Notifications (WSN) specifications</a> that are defined by
+ the OASIS standards body. You should become familiar with these specifications and refer to them as needed.
+ </p>
+ <p>The Developer Guide guide often refers to Apache WSRF, Apache Axis, Apache Tomcat, Apache Ant, and Apache XMLBeans. Instructions for these packages are
+ included as required and are not meant to replace the formal documentation for these projects. Consult them as necessary.
+ </p>
+ </section>
+ <section>
+ <title>WSN Overview</title>
+ <p>Pubscribe is an implementation of the <a href="site:wsn">WSN</a> family of specifications that are defined by the OASIS standards body. The specifications describe
+ how to expose the publish/subscribe pattern using Web services in a way that is scalable from simple devices to enterprise messaging systems. The specifications
+ include:</p>
+ <ul>
+ <li>WS-BaseNotification - Defines the participants and messages needed to support basic notifications. A notification consumer can subscribe to one or more
+ notifications that are supported by a notification producer. When a notification is published to a producer, the producer sends SOAP notification messages to all
+ consumers who are currently subscribed for that particular notification. There is also optional support for enterprise scale messaging.</li>
+ <li>WS-Topics - Defines how a hierarchy of notification topics can be described and how XPath-like topic expressions can be used to reference one or more topics in
+ the topic hierarchy.</li>
+ <li>WS-BrokeredNotification - Defines how a simple resource can offload the responsibilities of managing subscriptions to another entity called a broker. Having a broker
+ aggregate messages from many resources also enables the ability to provide different notification channels through the use of topics.</li> </ul>
+ </section>
+ <section>
+ <title>Conceptual Overview</title>
+ <p>Pubscribe builds on top of Apache WSRF and provides three deliverables:</p>
+ <ul>
+ <li>APIs for WSN topic spaces, subscriptions, etc...</li>
+ <li>Implementations of the operations defined by the WS-BaseNotification specification</li>
+ <li>A SubscriptionManager service that exposes WS-Resources that represent subscriptions
+ <note>APIs and operation implementations are not currently provided for the WS-BrokeredNotification specification.</note>
+ </li>
+ </ul>
+ <section>
+ <title>Notification Producer</title>
+ <p>A resource that acts as a notification producer implements the WSN <code>NotificationProducer</code> portType. The resource has a <code>TopicSet</code>
+ object associated with it. This topic set represents the set of topics to which the resource may publish notifications and to which consumers may subscribe. As the
+ service developer of the producer resource, you are responsible for adding the topics you wish to support to the topic set using Pubscribe APIs.
+ </p>
+ <p>When a Subscribe request is received, subscribe creates a new Subscription Resource which is exposed via the built-in <code>SubscriptionManager</code>
+ service. The Subscription Resource provides operations which allow clients to cancel, pause, or resume the associated subscription. To publish a notification to a topic,
+ you must call the <code>publish</code> method on the Topic object, passing it a DOM Node or XMLBeans XmlObject that represents the XML message to be published.
+ Pubscribe will then take care of wrapping the message in a SOAP envelope and sending it to all consumers who are subscribed to the associated Topic.
+ </p>
+ </section>
+ <section>
+ <title>Notification Consumer</title>
+ <p>A resource that acts as a notification consumer implements the <code>NotificationConsumer</code> portType. This portType
+ includes only one operation - <code>Notify</code>. Producers invoke the <code>Notify</code> operation when they send notifications to the consumer resource. In
+ addition to the actual notification message, the <code>Notify</code> operation also includes the topic expression to which the message was published and the EPR of
+ the producer resource that generated the message. These additional components allow the consumer to correlate the message with a particular subscription.
+ </p>
+ <p>Topic expressions are XPath-like expressions that refer to one or more topics. The <code>Subscribe</code> operation includes a topic expression that specifies
+ which topic(s) the client would like to subscribe to. The WS-Topics specification defines three topic expression dialects of varying complexity - Simple, Concrete, and
+ Full. Pubscribe includes full support for all three dialects, which means that any producer Resources you expose via Pubscribe can advertise to clients support
+ for all three dialects.
+ </p>
+ </section>
+ </section>
+ <section>
+ <title>Design-Time</title>
+ <p>A set of tools and integrations are provided that facilitate developing WSRF/WSN-compliant Web services. They are provided to help developers focus on
+ defining their WS Resource and Notification Topics without having to deal with low-level implementation details.</p>
+ <note>These tools and integrations are not required to create WSRF/WSN-compliant Web services, but are instead provided to save you time.</note>
+ <p>The tools and integrations include:</p>
+ <ul>
+ <li>A WSRF/WSN WSDL template for writing WSRF/WSN-compliant WSDLs</li>
+ <li>A Wsdl2Java tool for generating Java Classes from a WSDL.</li>
+ <li>An integration with Apache XMLBeans for generating custom types defined in the WSDL</li>
+ <li>an integration with Apache Axis for automatically deploying WS Resources</li>
+ </ul>
</section>
</body>
</document>
Added: webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/producer.xml
URL: http://svn.apache.org/viewcvs/webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/producer.xml?rev=219140&view=auto
==============================================================================
--- webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/producer.xml (added)
+++ webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/producer.xml Thu Jul 14 16:55:05 2005
@@ -0,0 +1,73 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+ "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Notification Producer</title>
+ </header>
+ <body>
+ <section id="intro">
+ <title>Introduction</title>
+ <p>This section provides instructions for adding notification topics for a resource. Each resource that is configured to be a notification producer (implements the WSN
+ <code>NotificationProducer</code> portType) is associated with a <code>TopicSet</code> object. The resource publishes notifications to a topic in the topic set.
+ Notification consumers can then subscribe to a topic and receive notifications from the resource. As the service developer of the notification producer resource, you are
+ responsible for adding the topics you want to support to the topic set. In addition, you must initialize all topics. This is done using Pubscribe APIs.
+ </p>
+ </section>
+ <section>
+ <title>Adding Topics</title>
+ <p>Notification topics must be added to the <code>init()</code> method of your service's resource class. If you used the Wsdl2Java tool, the resource class
+ (<em><code>service_name</code></em><code>Resource.java</code>) is automatically generated, but will need to modified. The resource class is the stateful
+ instance-representation of your Web service. In addition to notification topics, the resource class maintains the resource <code>id</code> and the <code>
+ ResourcePropertySet</code>. The <code>ResourcePropertySet</code> is the Java representation of the Resource Properties document defined in the schema section of
+ your WSDL file.
+ </p>
+ <p>This section discuss how to add topics to a resource class. Initially, you should model your resource off of the included FileSystemResource example to ensure
+ that you write a valid resource class. When adding topics to the resource class, you can select to add topics for all resource properties or you can add topics for
+ specific resource properties. Each style is discussed below.
+ </p>
+ <note>This section does not include instructions for initializing resource properties and adding them to the <code>ResourcePropertySet</code>. See the
+ <a href="ext:wsrfresource">Resource Class</a> documentation included with Apache WSRF.</note>
+ <section>
+ <title>Topics for All Resource Properties</title>
+ <p>The easiest way to add notification topics is to add topics for all resource properties that a WS resource exposes. In this case, the following method is added to the
+ resource class:
+ </p><source>
+try
+ {
+ org.apache.ws.notification.topics.util.TopicUtils.addResourcePropertyValueChangeTopics( getResourcePropertySet(), getTopicSpaceSet() );
+ }
+</source>
+ <p>In the above example, a notification topic is added for all resource properties that have been added to <code>ResourcePropertySet</code>.
+ </p>
+ </section>
+ <section>
+ <title>Topics for Specific Resource Properties</title>
+ <p>Notification topics can be added for specific resource properties. This allows you to control which topics will be available to a notification consumer. In this case,
+ the following method can be used for each resource property for which you want to add a topic:
+ </p><source>
+try
+ {
+ org.apache.ws.notification.topics.util.TopicUtils.addResourcePropertyValueChangeTopic( getResourcePropertySet().get( FilesystemPropertyQNames.FSCKPASSNUMBER ), getTopicSpaceSet() );
+ }</source>
+ <p>In the above example a topic is created specifically for the <code>FSCKPASSNUMBER</code> resource property.
+ </p>
+ </section>
+ <section>
+ <title>Resource Termination Topic</title>
+ <p>The resource termination topic is used for notifications when a resource is terminated. The use of this topic is optional. To add this topic to the resource class, use
+ the following method:
+ </p><source>
+org.apache.ws.notification.topics.util.TopicUtils.addResourceTerminationTopic( getTopicSpaceSet(), this, SPEC_NAMESPACE_SET );</source>
+ </section>
+ </section>
+ <section>
+ <title>Initializing NotificationProducer Resource Properties</title>
+ <p>The notification producer portType contains several default resource properties (Topic, FixedTopicSet, TopicExpressionDialects). when these properties are initialized,
+ All topics will be registered. To initialize these properties, the following method is used:
+ </p><source>
+org.apache.ws.notification.topics.util.TopicUtils.initNotificationProducerProperties(getTopicSpaceSet() , getResourcePropertySet());</source>
+ <note>This method MUST be called last in the <code>init()</code> method to ensure all topics get registered.</note>
+ </section>
+ </body>
+</document>
Added: webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/subscription.xml
URL: http://svn.apache.org/viewcvs/webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/subscription.xml?rev=219140&view=auto
==============================================================================
--- webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/subscription.xml (added)
+++ webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/subscription.xml Thu Jul 14 16:55:05 2005
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+ "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Composing a WSRF WSDL</title>
+ </header>
+ <body>
+ <section>
+ <title>Using the WSRF WSDL Template</title>
+ <p>TODO.
+ </p>
+ </section>
+ </body>
+</document>
Added: webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/wsdl.xml
URL: http://svn.apache.org/viewcvs/webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/wsdl.xml?rev=219140&view=auto
==============================================================================
--- webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/wsdl.xml (added)
+++ webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/wsdl.xml Thu Jul 14 16:55:05 2005
@@ -0,0 +1,75 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+ "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Composing a WSRF/WSN WSDL</title>
+ </header>
+ <body>
+ <section>
+ <title>Using the WSRF/WSN WSDL Template</title>
+ <p>Resources and notifications are exposed as WS-Resources using the Web Services Description Language (WSDL). The WSDL must
+ conform to the conventions as described in the <a href="ext:spec">WSRF</a> and <a href="site:wsn">WSN</a> Specifications. To make it
+ easier to write a WSRF/WSN WSDL, Pubscribe provides a template WSDL that can be used as a starting point. The template saves a good deal of time
+ and is less error-prone than writing a WSRF/WSN-compliant WSDL from scratch.
+ </p>
+ <p>To use the template:</p>
+ <ol>
+ <li>Using a text or XML editor, open <code>INSTALL_DIR/template/_TEMPLATE_.wsdl</code>.</li>
+ <li>Save the file with a new name (e.g., <em>nameOfYourService</em>.wsdl).</li>
+ <li>Modify your WSDL based on the instructions in the template and the information below.</li>
+ </ol>
+ <warning>Do not modify the original template file.</warning>
+ </section>
+ <section>
+ <title>Defining the WSRF/WSN PortType</title>
+ <p>A WSRF/WSN WSDL should contain only one portType. The portType aggregates operations from WSRF and WSN specification-defined portTypes
+ and custom resource-specific operations. If you copied the WSDL template file as described above, your WSDL file
+ already contains a WSRF/WSN-compliant portType. You simply have to rename the portType (<code>MyPortType</code>) and the binding (MySoapHttpBinding) and uncomment the
+ blocks corresponding to whichever optional portTypes you want your WS-Resource to support.
+ </p>
+ <note>The WSRF portTypes - WS-ResourceProperties (WSRF-RP) and WS-ResourceLifetime (WSRF-RL)- and their associated operations are described in the Apache WSRF
+ <a href="ext:wsrfwsdl">WSDL Documentation</a>. The instructions include defining the resource properties document, custom properties, and custom
+ operations.</note>
+ <section>
+ <title>WS-BaseNotification PortTypes</title>
+ <p>The WS-BaseNotification specification defines three portTypes:</p>
+ <ul>
+ <li>NotificationProducer - This portType allows a resource to advertise notification topics and allows clients to subscribe to these topics. To implement this portType,
+ uncomment the three NotificationProducer property references (<code>wsnt:Topic</code>, <code>wsnt:FixedTopicSet</code>, and
+ <code>wsnt:TopicExpressionDialects</code>) within the types/schema section of the WSDL. Then, uncomment the two NotificationProducer
+ operations (<code>Subscribe</code> and <code>GetCurrentMessage</code>) within both the portType and binding sections.</li>
+ <li>NotificationConsumer - This portType allows a resource to receive notification messages from a notification producer. To implement this portType, uncomment the
+ <code>Notify</code> operation.</li>
+ <li>SubscriptionManager - This portType defines message exchanges to manipulate (pause and resume) Subscription resources. An implementation of this portType is
+ included in Pubscribe as a separate service and therefore does not have to be included in the WSRF/WSN WSDL for a resource. For more information on the Subscription
+ Manager service, see <a href="site:subscript">Using the Subscription Manager</a>.</li>
+ </ul>
+ <note>Typically, a resource will be either be a Consumer or a Producer. However, you can implement both in a single resource.</note>
+ <table>
+ <tr>
+ <th>PortType</th>
+ <th>Operations</th>
+ <th>Properties</th>
+ </tr>
+ <tr>
+ <td>NotificationProducer</td>
+ <td>Subscribe, GetCurrentMessage</td>
+ <td>Topic, FixedTopicSet, TopicExpressionDialects</td>
+ </tr>
+ <tr>
+ <td>NotificationConsumer</td>
+ <td>Notify</td>
+ <td/>
+ </tr>
+ </table>
+ <note>In addition to operations, the <code>NotificationProducer</code> portType also includes three properties. If a
+ WS-Resource implements this portType, it must also expose these properties.</note>
+ <p>The PortType element must have a
+ <code>{http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-ResourceProperties-1.2-draft-05.xsd}ResourceProperties</code>
+ attribute whose value is the <code>QName</code> of the resource properties document element defined in the types/schema section of the WSDL file.
+ </p>
+ </section>
+ </section>
+ </body>
+</document>
Added: webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/wsdl_tool.xml
URL: http://svn.apache.org/viewcvs/webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/wsdl_tool.xml?rev=219140&view=auto
==============================================================================
--- webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/wsdl_tool.xml (added)
+++ webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/wsdl_tool.xml Thu Jul 14 16:55:05 2005
@@ -0,0 +1,141 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+ "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Using Wsdl2Java</title>
+ </header>
+ <body>
+ <section>
+ <title>Introduction</title>
+ <p>The Wsdl2Java tool is used to generate a set of artificats for a WSRF/WSN WS Resource. The artifiacts include:</p>
+ <ul>
+ <li>A set of Java classes based on the WSDL definition. This includes a service, resource, and
+ home class. Some of the Java code will need to be manually edited after the files are generated.</li>
+ <li>Interfaces for custom operations.</li>
+ <li>Java bindings for all Types that are defined in the WSDL. The interfaces and classes are
+ created using the <a href="ext:xmlbeans.apache.org">XMLBeans</a> schema compiler</li>
+ <li>an Axis Web Service Deployment Descriptor (WSDD) for your service (<em>service</em>_deploy.wsdd). This file is used to deploy your service to
+ Axis.</li>
+ <li>A JNDI Resource configuration file for your service (<em>service</em>_jndi-config.xml). The file is used to setup the in-memory JNDI context for
+ your generated service, resource, and home classes.</li>
+ </ul>
+ <p>The tool saves you a great deal of time, since these files do not have to be created from scratch. You simply pass the tool a WSRF/WSN WSDL and the files
+ are automatically generated. You can use the tool directly or you can use an Ant task.
+ </p>
+ </section>
+ <section>
+ <title>Ant Task</title>
+ <p>The Wsdl2Java tool can be invoked using the <code>wsdl2Java</code> Ant task (<code>org.apache.ws.notification.tool.WsnWsdl2JavaTask</code>) which extends the
+ Apache WSRF Ant task (<code>org.apache.ws.resource.tool.Wsdl2JavaTask</code>). The
+ <code>INSTALL_DIR/template/build.xml</code> script contains a target that already implements this task.</p>
+ <p>To use the target:</p>
+ <ol>
+ <li>Copy INSTALL_DIR/template/build.xml and build.properties to any directory. This directory will be referred to as <code>WORK_DIR</code>.</li>
+ <li>Modify build.properties and modify the <code>pubscribe.webapp.dir</code> property and any proxy settings if applicable.</li>
+ <li>Copy your WSRF/WSN WSDL to <code>WORK_DIR</code>. If your WSDL depends on a schema that is not accessible over the network, you must copy the
+ schema to this directory as well.</li>
+ <li>From a command prompt, change directories to <code>WORK_DIR</code>.</li>
+ <li>Run the following command.
+ <source>ant generate</source>
+ <p>Check <code>WORK_DIR/generated</code> to see the generated files.
+ </p>
+ </li>
+ </ol>
+ <section>
+ <title>Task Definition</title>
+ <p>The task is defined as follows :</p>
+ <source><![CDATA[
+<taskdef name="wsdl2Java"
+ classname="org.apache.ws.notification.tool.WsnWsdl2JavaTask"
+ classpath="path/to/pubscribe.jar" /> ]]></source>
+ <p>
+ <strong>Parameters</strong>
+ </p>
+ <p>The task takes the following parameters:</p>
+ <table>
+ <tr>
+ <th>Attribute</th>
+ <th>Description</th>
+ <th>Required</th>
+ </tr>
+ <tr>
+ <td>wsdl</td>
+ <td>Enter the full path to a WSRF WSDL file.</td>
+ <td>Yes, unless a <code>wsdls</code> parameter is used. </td>
+ </tr>
+ <tr>
+ <td>wsdls</td>
+ <td>Entered as a nested element following the rules of fileset. This parameter is used instead of the <code>wsdl</code> parameter to indicate multiple
+ WSRF WSDLs to be converted.</td>
+ <td>No</td>
+ </tr>
+ <tr>
+ <td>classpath</td>
+ <td>The classpath to be passed to the XMLBeans schema compiler. The classpath should reference the <code>INSTALL_DIR/wsrf/webapp/lib</code>
+ and <code>/classes</code> directories.</td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <td>classpathref</td>
+ <td>Adds a classpath, given as reference to a path defined elsewhere.</td>
+ <td>No</td>
+ </tr>
+ <tr>
+ <td>outputdir</td>
+ <td>Enter a directory where the generated files will be placed.</td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <td>verbose</td>
+ <td>Enter <code>true</code> to increase build message output.</td>
+ <td>No, default is <code>false</code>
+ </td>
+ </tr>
+ <tr>
+ <td>proxyHost</td>
+ <td>Enter the Host IP address of a proxy that is used to connect to the Internet.</td>
+ <td>No</td>
+ </tr>
+ <tr>
+ <td>proxyPort</td>
+ <td>Enter the Port number of a proxy that is used to connect to the Internet.</td>
+ <td>No</td>
+ </tr>
+ <tr>
+ <td>nonProxyHosts</td>
+ <td>Enter the Host IP address separated by "|" to indicate Hosts that do not require a proxy.</td>
+ <td>No</td>
+ </tr>
+ </table>
+ <p>
+ <strong>Example</strong>
+ </p>
+ <p>The following example generates files for a single WSDL and places the generated files in a directory
+ named <code>/generated</code>. To simplify the example, the classpath is referenced. You must set the <code>${pubscribe.home}</code> Ant property to <code>
+ INSTALL_DIR</code> (e.g. /opt/pubscribe-1.0beta).</p>
+ <source><![CDATA[
+
+ <property name="pubscribe.webapp.dir" location="${pubscribe.home}/webapps/pubscribe" />
+ <path id="pubscribe.classpath.id">
+ <pathelement location="${pubscribe.webapp.dir}/WEB-INF/classes" />
+ <fileset dir="${pubscribe.webapp.dir}/WEB-INF/lib" includes="*.jar" />
+ </path>
+
+ <taskdef name="wsdl2Java" classname="org.apache.ws.notification.tool.WsnWsdl2JavaTask" classpath="pubscribe.classpath.id" />
+
+ <wsdl2Java wsdl="path/to/your.wsdl"
+ outputdir="generated"
+ classpath="pubscribe.classpath.id" />]]></source>
+ <p>If you want to generate the files for multiple WSDLs, you can use:</p>
+ <source><![CDATA[
+
+ <wsdl2Java outputdir="generated" classpath="pubscribe.classpath.id" />
+ <wsdls dir="path/to/wsdls/">
+ <include name="**/*.wsdl" />
+ </wsdls>
+ </wsdl2Java>]]></source>
+ </section>
+ </section>
+ </body>
+</document>