You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-commits@ws.apache.org by sc...@apache.org on 2006/06/02 19:30:35 UTC
svn commit: r411217 [3/5] - in
/webservices/muse/branches/1.0/src/site/content/xdocs: ./ muse/
muse/dev_guide/ muse/tutorial/ muse/tutorial/images/ pubscribe/
pubscribe/dev_guide/ pubscribe/tutorial/ pubscribe/tutorial/images/ wsrf/
wsrf/dev_guide/ wsr...
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/home.xml
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/home.xml?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/home.xml (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/home.xml Fri Jun 2 10:30:32 2006
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+ "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Writing a Home class</title>
+ </header>
+ <body>
+ <section id="intro">
+ <title>Introduction</title>
+ <p>The home class is used to lookup the resource instance. It can act as a factory for creating instances upon request, or build all instances. It is meant
+ to be the entry point for locating a resource instance.
+ </p>
+ <note>If your service is a singleton and only requires a single resource instance, see the <a href="site:w_single">Creating a Singleton Service</a> in the Apache WSRF
+ documentation.</note>
+ <p>If you use the Wsdl2Java tool, the home class is automatically generated but will need to modified to create instances of your resource. This section will
+ describe how to write a home class for your resource. Initially, you should model your resource off of the included <code>FilesystemHome</code> example
+ to ensure that you write a valid home class for your resource.</p>
+ </section>
+ <section id="class-declaration">
+ <title>Class Declaration</title>
+ <p>The generated home class extends <code>AbstractResourceHome</code>. Extending <code>AbstractResourceHome</code>
+ provides services for caching instances and looking them up. It also ensures
+ that the correct interfaces are implemented so that Apache WSRF can interact with your home.
+ </p>
+ <p>The <code>FileSystemHome</code> class extends <code>AbstractResourceHome</code> and implements <code>Serializable</code>:</p>
+ <source>public class FileSystemHome
+ extends AbstractResourceHome
+ implements Serializable</source>
+ <note>Many of the operations in the <code>AbstractResourceHome</code> may be overridden in your Home
+ class, if you have a need to extend its functionality.</note>
+ </section>
+ <section id="ops">
+ <title>Operations</title>
+ <p>If you extend <code>AbstractResourceHome</code>, the only required operation you will need to implement is:</p>
+ <source>public void init()</source>
+ <p>The <code>init()</code> operation can be used to initialize any instances at startup. In the FileSystem example, the <code>init()</code> method is used:</p>
+ <source>public void init() throws Exception
+ {
+ super.init();
+ add( createInstance( LVOL1_ID ) );
+ add( createInstance( LVOL2_ID ) );
+ }</source>
+ <p>The <code>createInstance()</code> method:</p>
+ <ul>
+ <li>Creates an instance of the resource.</li>
+ <li>Sets an endpoint reference on the resource.</li>
+ <li>Calls <code>init()</code> on the resource.</li>
+ </ul>
+ <note>If you choose to not use the <code>createInstance()</code> method (e.g. if you have a non-empty constructor), then you must manually set the EPR then call
+ the <code>init()</code> method on the resource. The generated home class contains a utility method from the <code>AbstractResourceHome</code> that can be used
+ to build an EPR.</note>
+ </section>
+ </body>
+</document>
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/index.xml
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/index.xml?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/index.xml (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/index.xml Fri Jun 2 10:30:32 2006
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Pubscribe Developer Guide</title>
+ </header>
+ <body>
+ <section>
+ <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/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/producer.xml
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/producer.xml?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/producer.xml (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/producer.xml Fri Jun 2 10:30:32 2006
@@ -0,0 +1,72 @@
+<?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>
+ <note>The notification producer portType resource properties (Topic, FixedTopicSet, TopicExpressionDialects) are initialized by default and do not have to be initalized here.</note>
+ <p>This section discusses how to add topics to a resource class for each resource property. Topics emit notifications if any resource property changes in any way. 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="site:p_compose">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>
+ </body>
+</document>
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/subscription.xml
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/subscription.xml?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/subscription.xml (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/subscription.xml Fri Jun 2 10:30:32 2006
@@ -0,0 +1,131 @@
+<?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 the Subscription Manager</title>
+ </header>
+ <body>
+ <section>
+ <title>Introduction</title>
+ <p>The WS-BaseNotification specification includes a portType called <code>SubscriptionManager</code>. The portType includes two operations
+ (<code>PauseSubscription</code> and <code> ResumeSubscription</code>) and a set of resource properties: <code>ConsumerReference</code>,
+ <code>TopicExpression</code>, <code>UseNotify</code>, <code>Precondition</code>, <code>Selector</code>, <code>SubscriptionPolicy</code>, and
+ <code>CreationTime</code>. Pubscribe implements this portType and its required resource properties by default. Therefore, it does not have to be defined in a WSRF/WSN WSDL.
+ This insures that all the resource properties are initialized without having to directly interact with the subscription manager.
+ </p>
+ <note>In Pubscribe, a notification producer uses the subscription manager to create a subscription whenever a <code>Subscribe</code> message is received for a topic.</note>
+ </section>
+ <section>
+ <title>Subscription Manager Messages</title>
+ <p>Messages to pause or resume a subscription are sent to the <code>SubscriptionManager</code> service. This service is deployed by default when you deploy the Pubscribe Web
+ application. The <code>SubscriptionManager</code> service can also be used to send <code>Destroy</code>, <code>SetTerminationTime</code>, and
+ <code>GetResourceProperty</code> messages. These operations are defined in the WSRF WS-ResourceLifetime and WS-ResourceProperties specifications respectively.
+ When you send messages to the subscription manager, the SOAP header must include the ResourceIdentifier obtained from the EPR of the subscription this value
+ is returned in the response message when you subscribe to a topic.
+ </p>
+ <p>The below requests demonstrate the messages to pause, resume, and destroy a subscription and are taken from the filesystem example. In the header, notice the EPR that is entered in
+ the <code>wsa:To</code> element and the subscription identifier that is entered in the <code>sub:ResourceIdentifier</code> element.
+ </p>
+ <section>
+ <title>PauseSubscription</title>
+ <source><![CDATA[
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:wsnt="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd"
+ xmlns:sub="http://ws.apache.org/notification/base/service/SubscriptionManager">
+
+ <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+ <wsa:To mustUnderstand="1">http://localhost:8080/pubscribe/services/SubscriptionManager</wsa:To>
+ <wsa:Action mustUnderstand="1">http://localhost:8080/pubscribe/services/SubscriptionManager/yourWsdlRequestName</wsa:Action>
+ <sub:ResourceIdentifier mustUnderstand="1">4623a820-7483-11d9-9a53-fe396408008d</sub:ResourceIdentifier>
+ </Header>
+
+ <Body>
+ <wsnt:PauseSubscription />
+ </Body>
+
+</Envelope>]]></source>
+ </section>
+ <section>
+ <title>ResumeSubscription</title>
+ <source><![CDATA[
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:wsnt="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd"
+ xmlns:sub="http://ws.apache.org/notification/base/service/SubscriptionManager">
+
+ <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+ <wsa:To mustUnderstand="1">http://localhost:8080/pubscribe/services/SubscriptionManager</wsa:To>
+ <wsa:Action mustUnderstand="1">http://localhost:8080/pubscribe/services/SubscriptionManager/yourWsdlRequestName</wsa:Action>
+ <sub:ResourceIdentifier mustUnderstand="1">4623a820-7483-11d9-9a53-fe396408008d</sub:ResourceIdentifier>
+ </Header>
+
+ <Body>
+ <wsnt:ResumeSubscription />
+ </Body>
+
+</Envelope>]]></source>
+ </section>
+ <section>
+ <title>Destroy</title>
+ <p>The <code>SubscriptionManager</code> also includes the Destroy operation. This operation is defined in the WS-ResourceLifetime specifcation. The Destroy operation can be
+ used to destroy a subscription. Like pause and resume, you must provide the EPR and the subscription's <code>ResourceIdentifier</code>.</p>
+ <source><![CDATA[
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:wsnt="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd"
+ xmlns:wsrlw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd"
+ xmlns:sub="http://ws.apache.org/notification/base/service/SubscriptionManager">
+
+ <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+ <wsa:To mustUnderstand="1">http://localhost:8080/pubscribe/services/SubscriptionManager</wsa:To>
+ <wsa:Action mustUnderstand="1">http://localhost:8080/pubscribe/services/SubscriptionManager/yourWsdlRequestName</wsa:Action>
+ <sub:ResourceIdentifier mustUnderstand="1">6d8e2160-f89f-11d9-9c4c-9e6bfb2aa2bf</sub:ResourceIdentifier>
+ </Header>
+
+ <Body>
+ <wsrlw:Destroy />
+ </Body>
+
+</Envelope>]]></source>
+ </section>
+ <section>
+ <title>Getting the Subscription Manager's WSDL</title>
+ <p>The subscription manager publishes its WSDL as metadata using Pubscribe's implementation of the WS-Metadata Exchange specification. The following examples
+ demonstrate SOAP requests that can be used to retrieve the WSDL. For instructions on providing metadata about your service, see the
+ <a href="site:w_metadata">Adding Service Metadata</a> section of the Apache
+ WSRF documentation. </p>
+ <source><![CDATA[
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"
+ xmlns:sub="http://ws.apache.org/notification/base/service/SubscriptionManager">
+
+ <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+ <wsa:To mustUnderstand="1">http://localhost:8080/foobar</wsa:To>
+ <wsa:Action mustUnderstand="1">http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/Request</wsa:Action>
+ <sub:ResourceIdentifier mustUnderstand="1">52082a10-ff9f-11d9-b386-b35a385b29cd</sub:ResourceIdentifier>
+ </Header>
+
+ <Body>
+ <wsx:GetMetadata />
+ </Body>
+
+</Envelope>]]></source>
+ <source><![CDATA[
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"
+ xmlns:sub="http://ws.apache.org/notification/base/service/SubscriptionManager">
+
+ <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+ <wsa:To mustUnderstand="1">http://localhost:8080/foobar</wsa:To>
+ <wsa:Action mustUnderstand="1">http://schemas.xmlsoap.org/ws/2004/09/mex/Get/Request</wsa:Action>
+ <sub:ResourceIdentifier mustUnderstand="1">52082a10-ff9f-11d9-b386-b35a385b29cd</sub:ResourceIdentifier>
+ </Header>
+
+ <Body>
+ <!-- no body needed. Action defines request for wsx -->
+ </Body>
+
+</Envelope>]]></source>
+ </section>
+ </section>
+ </body>
+</document>
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/wsdl.xml
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/wsdl.xml?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/wsdl.xml (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/wsdl.xml Fri Jun 2 10:30:32 2006
@@ -0,0 +1,84 @@
+<?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. See <a href="site:producer">Notification
+ Producer</a>.</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. See <a href="site:consumer">Notification Consumer</a>.</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>
+ <title>Metadata Operations</title>
+ <p>The template contains two operations that are not defined by the WSRF or WSN specification that can be used in your service to retrieve metadata
+ about your services. The operations and messages are defined in the
+ <a href="http://msdn.microsoft.com/library/en-us/dnglobspec/html/ws-metadataexchange.pdf">WS-Metadata Exchange</a> specification defined by Microsoft and other industry
+ contributors. For instructions on providing metadata about your service, see the <a href="site:w_metadata">Adding Service Metadata</a> section of the Apache
+ WSRF documentation.</p>
+ </section>
+ </section>
+ </body>
+</document>
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/wsdl_tool.xml
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/wsdl_tool.xml?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/wsdl_tool.xml (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/dev_guide/wsdl_tool.xml Fri Jun 2 10:30:32 2006
@@ -0,0 +1,144 @@
+<?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>Using a text editor, open <code>WORK_DIR/build.properties</code>.</li>
+ <li>Uncomment the <code>pubscribe.webapp.dir</code> property and set it to the location where the Pubscribe Web application is installed. If you are using
+ Tomcat and have the <code>CATALINA_HOME</code> environment variable set, you do not need to modify this property.</li>
+ <li>Uncomment and modify the proxy settings if you require a proxy to connect to external Web sites.</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 all the jars in 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>
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/getting_started.xml
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/getting_started.xml?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/getting_started.xml (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/getting_started.xml Fri Jun 2 10:30:32 2006
@@ -0,0 +1,122 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+ "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Getting Started with Apache Pubscribe</title>
+ </header>
+ <body>
+ <section>
+ <title>Introduction</title>
+ <p>The topics in this section detail how to install Apache Pubscribe and use the quick demonstration to verify the installation as well
+ as exercise some of the features that are included in the release. It is suggested that you complete these sections before starting any
+ development work. Once you get a good feel for the example in the demonstration, you can recreate it by completing the
+ <a href="site:tut">tutorial</a>.
+ </p>
+ <p>The tutorial takes a step-by-step approach to learning Apache Pubscribe. It highlights the most common procedures that are used to implement
+ Web Services Notification (WSN). The tutorial also includes steps for deploying Apache Pubscribe.
+ </p>
+ <p>Lastly, refer to the <a href="site:dev">Developer Guide</a> for basic and advanced tasks as well as general information about Apache
+ Pubscribe. Much of the information that is covered in the demonstration and the tutorial is discussed in more detail in the Developer Guide. </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 documentation. All of the tasks required in Apache WSRF are also applicable
+ in Pubscribe.
+ </note>
+ </section>
+ <section id="install">
+ <title>Installation</title>
+ <p> Apache Pubscribe is packaged as a Web application. In particular, it is an Apache Axis-based Web application with
+ additional functionality that is required to implement the WSN family of specifications. Since WSN builds on WSRF, the Web application also includes
+ Apache WSRF.
+ </p>
+ <p>To run and install Apache Pubscribe, you must first:</p>
+ <ul>
+ <li>install Apache Tomcat or a similar Web container. The documentation assumes Tomcat and refers to the Tomcat
+ home directory (e.g., <code>c:\jakarta-tomcat-4.1.30</code>) as <code>TOMCAT_HOME</code>. In addition, it is assumed that Tomcat
+ is configured to listen at the default HTTP port (8080).</li>
+ <li>install Apache Ant 1.6.X and include its <code>bin</code> directory in the <code>PATH</code> environment variable. Set an
+ ANT_HOME environment variable to the Ant installation directory.</li>
+ </ul>
+ <p>To install Apache Pubscribe:</p>
+ <ol>
+ <li>Download the Apache Pubscribe <a href="site:releases">binary distribution</a>.</li>
+ <li>Unzip the distribution to a location on your computer. This location is referred to as <code>INSTALL_DIR</code>.</li>
+ <li>From <code>INSTALL_DIR</code>, copy the <code>webapps/pubscribe</code> directory to <code>TOMCAT_HOME/webapps</code>.</li>
+ <li>Start Tomcat.</li>
+ <li>Using a browser, go to <a href="http://localhost:8080/pubscribe">http://localhost:8080/pubscribe</a>. The Apache Pubscribe welcome page
+ displays.</li>
+ <li>Click <a href="http://localhost:8080/pubscribe/services">View</a>. The list of
+ deployed Web services displays. Three services are deployed: <code>SubscriptionManager</code>,
+ <code>AdminService</code>, and <code>Version</code>. The <code>AdminService</code> and <code>Version</code> services are default
+ Apache-Axis services. The <code>SubscriptionManager</code> is used to pause, resume, destroy, or update subscriptions.</li>
+ <li>Click on the respective WSDL links to view and ensure that the WSDL for the services are published.</li>
+ </ol>
+ </section>
+ <section id="qd">
+ <title>Quick Demonstration</title>
+ <p>The Quick Demonstration shows some of the features and implementation details of Apache Pubscribe. The demo uses an example that is
+ included in the distribution. The example represents a UNIX file system resource whose management capabilities are exposed as a WSRF-compliant Web service
+ and includes a notification producer used to subscribe to events.
+ </p>
+ <note>The <a href="site:tut">tutorial</a> provides a step-by-step approach for implementing notifications for WSRF-based resources. In essence, the
+ tutorial builds and deploys the example that is used in this demo.</note>
+ <p>Complete the following steps:
+ </p>
+ <ol>
+ <li>Using a text editor, open <code>INSTALL_DIR/examples/filesystem/build.properties</code>.</li>
+ <li>Change the <code>pubscribe.webapp.dir</code> property and set it to the location where the Pubscribe Web application is installed.
+ If you are using Tomcat and have <code>CATALINA_HOME</code> set, you do not need to modify this property.</li>
+ <li>Uncomment and modify the proxy settings if you require a proxy to connect to external Web sites.</li>
+ <li>Save and close build.properties.</li>
+ <li>Open a command prompt and change directories to <code>INSTALL_DIR/examples/filesystem</code>.</li>
+ <li>Run the following command:
+ <p>
+ <code>ant compile deploy</code>
+ </p>
+ </li>
+ <li>Start Tomcat. If Tomcat is already started, you must restart it.</li>
+ <li>Using a browser, go to <a href="http://localhost:8080/pubscribe/services">
+ http://localhost:8080/pubscribe/services</a> and verify that the filesystem service is deployed.
+ </li>
+ <li>From a command prompt change directories to <code>INSTALL_DIR/examples/filesystem</code> directory. An ANT-based SOAP client that is included in
+ the distribution is used to send a SOAP request to the filesystem Web service.</li>
+ <li>
+ <strong>Subscribe to a Notification Topic: </strong>
+ <br/>
+ <p>In this step, a request is sent to subscribe to the notification topic for the <code>MountPointDirectory</code> resource property of the UNIX file
+ system resource. </p>
+ <source><![CDATA[
+ ant -f soapclient.xml -Durl=http://localhost:8080/pubscribe/services/filesystem -Dxml=requests/Subscribe_updateMountPointProp.soap]]></source>
+ <note>To complete step 13 later in this demonstration, you must copy the <code>ResourceIdentifier</code> value that is returned in the SOAP body of
+ the response for this request. This is the look up key for the subscription.
+ </note>
+ <br/>
+ </li>
+ <li>
+ <strong>Cause an Event:</strong>
+ <br/>
+ <p>In this step, the <code>MountPointDirectory</code> resource property is changed. This will cause a notification to be published.</p>
+ <source><![CDATA[
+ ant -f soapclient.xml -Durl=http://localhost:8080/pubscribe/services/filesystem -Dxml=requests/SetResourceProperties_updateMountPointProp.soap]]></source>
+ </li>
+ <li>
+ <strong>View Notification: </strong>
+ <br/>
+ <p>In this step, we will retrieve the notification that was published when the <code>MountPointDirectory</code> resource property was changed in
+ the previous step.</p>
+ <source><![CDATA[
+ ant -f soapclient.xml -Durl=http://localhost:8080/pubscribe/services/filesystem -Dxml=requests/GetCurrentMessage.soap]]></source>
+ </li>
+ <li>
+ <strong>Destroy Subscription:</strong>
+ <br/>
+ <p>In this step, a request is sent to destroy the notification topic subscription. Before completing this step, open the
+ <code>requests/Destroy_Subscription.soap</code> file and update the <code>sub:ResourceIdentifier</code> element with the value that was copied
+ in step 10. Save and close the file.</p>
+ <source><![CDATA[
+ ant -f soapclient.xml -Durl=http://localhost:8080/pubscribe/services/SubscriptionManager -Dxml=requests/Destroy_Subscription.soap]]></source>
+ </li>
+ </ol>
+ </section>
+ </body>
+</document>
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/index.xml
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/index.xml?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/index.xml (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/index.xml Fri Jun 2 10:30:32 2006
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+ "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Apache WebServices - Pubscribe</title>
+ </header>
+ <body>
+ <section>
+ <title>Overview</title>
+ <p>Pubscribe is a robust Java implementation of the <a href="wsn.html">Web Services Notification (WSN)</a> family of specifications.
+ </p>
+ <p>WSN defines a set of specifications that standardize the way Web services can interact using the Notification pattern, which defines a way for consumers
+ to subscribe to a producer for notifications whenever a particular event occurs.
+ </p>
+ <p>WSN builds upon the WS-ResourceFramework (WSRF) family of specifications. Pubscribe leverages the <a href="ext:wsrf/">WSRF</a> project as its
+ implementation of the WSRF foundation.
+ </p>
+ </section>
+ <section>
+ <title>Features</title>
+ <p>This release provides the following features:</p>
+ <ul>
+ <li>An Apache WSRF handler/service framework and WS-RP/WS-RL/WS-MeX portType impls</li>
+ <li>A WSDL to Java generator that will generate the classes and configuration entries from a WSRF/WSN WSDL that are required to deploy it as a service to
+ the Apache WSRF framework</li>
+ <li>Full implementations of all portTypes defined by the WS-BaseNotification specification</li>
+ <li>Full implementations of all portTypes defined by the WS-Eventing specification</li>
+ <li>Evaluators for all three topic expression dialects defined by the WS-Topics specification</li>
+ <li>Generic Publish/Subscribe APIs that hide the details of the underlying notification mechanism (WSN or WSE) being used</li>
+ <li>And more...</li>
+ </ul>
+ <p>Any feedback is welcomed and can be sent to our <a href="site:contact">mailing list</a>.
+ </p>
+ </section>
+ <section>
+ <title>News</title>
+ <ul>
+ <li>(June 3, 2005) Pubscribe has graduated from incubation and is now an official Apache project!</li>
+ <li>(May 25, 2005) <a href="http://ws.apache.org/pubscribe/release.html">Pubscribe 1.0 Beta</a> is now available!</li>
+ </ul>
+ </section>
+ <section>
+ <title>History</title>
+ <p>Much of the code in Pubscribe is based on code from the GTK4 WSRF/WSN implementation that was donated by the Globus Consortium. This code was
+ refactored to make extensive use of Apache XMLBeans to add improved runtime schema type validation and to enable portability to SOAP engines other than Axis.
+ The original GTK4 WSRF/WSN code is checked in to SVN <a href="http://svn.apache.org/viewcvs.cgi/incubator/apollo/globus/">here</a>.
+ </p>
+ </section>
+ </body>
+</document>
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/site.xml_old
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/site.xml_old?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/site.xml_old (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/site.xml_old Fri Jun 2 10:30:32 2006
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<!--
+Forrest site.xml
+
+This file contains an outline of the site's information content. It is used to:
+- Generate the website menus (though these can be overridden - see docs)
+- Provide semantic, location-independent aliases for internal 'site:' URIs, eg
+<link href="site:changes"> links to changes.html (or ../changes.html if in
+ subdir).
+- Provide aliases for external URLs in the external-refs section. Eg, <link
+ href="ext:cocoon"> links to http://xml.apache.org/cocoon/
+
+See http://forrest.apache.org/docs/linking.html for more info.
+-->
+<site label="Pubscribe" href="" xmlns="http://apache.org/forrest/linkmap/1.0">
+ <project label="Project Info" tab="home">
+ <overview label="Overview" href="index.html"/>
+ <vcs label="Version Control" href="version_control.html"/>
+ <issues label="Issue Tracking" href="issue_tracking.html"/>
+ <contact label="Contact Info" href="contact_info.html"/>
+ <relnotes label="Release Notes" href="release_notes.html"/>
+ <wsn label="WSN Specs" href="wsn.html"/>
+ </project>
+ <project label="Downloads" tab="home">
+ <releases label="Releases" href="release.html"/>
+ </project>
+ <!-- **************** Documentation **************** -->
+ <install label="Getting Started" tab="doc">
+ <overview label="Introduction" href="getting_started.html"/>
+ <installation href="getting_started.html#install"/>
+ <get label="Installation" href="getting_started.html#install"/>
+ <quick label="Quick Demo" href="getting_started.html#qd"/>
+ </install>
+ <tutorial label="Tutorial" href="tutorial/" tab="doc">
+ <tut label="Overview" href="index.html"/>
+ <setup label="Create Workspace" href="setup.html"/>
+ <wsdl label="Create WSDL" href="wsdl.html"/>
+ <wsdl2java label="Run wsdl2Java Tool" href="wsdl2java.html"/>
+ <modhome label="Modify Home Class" href="mod_home.html"/>
+ <modresource label="Modify Resource Class" href="mod_resource.html"/>
+ <webapp label="Deploy Service" href="webapp.html"/>
+ <test label="Test" href="test.html"/>
+ </tutorial>
+ <developer label="Developer Guide" href="dev_guide/" tab="doc">
+ <dev label="Overview" href="index.html"/>
+ <compose label="WSRF/WSN WSDL" href="wsdl.html"/>
+ <tool label="Using Wsdl2Java" href="wsdl_tool.html"/>
+ <home label="Home Class" href="home.html"/>
+ <producer label="Notification Producer" href="producer.html"/>
+ <consumer label="Notification Consumer" href="consumer.html"/>
+ <subscript label="Subscription Manager" href="subscription.html"/>
+ <deploy label="Deploying" href="deploy.html"/>
+ <client label="Using the SOAP Client" href="client.html"/>
+ <log label="Logging" href="debug.html"/>
+ </developer>
+ <projects label="Related Projects">
+ <axis label="Axis" href="ext:axis"/>
+ <addressing label="Addressing" href="ext:addressing"/>
+ <xmlbeans label="XMLBeans" href="ext:xmlbeans.apache.org"/>
+ <maven label="Maven" href="ext:maven.apache.org"/>
+ </projects>
+ <external-refs>
+ <xml.apache.org href="http://xml.apache.org/">
+ <forrest href="forrest/"/>
+ </xml.apache.org>
+ <xmlbeans.apache.org href="http://xmlbeans.apache.org/"/>
+ <maven.apache.org href="http://maven.apache.org/"/>
+ <ws.apache.org href="http://ws.apache.org/">
+ <mirrors href="mirrors.cgi"/>
+ <axis href="axis/"/>
+ <wsrf href="wsrf/"/>
+ <spec href="wsrf/wsrf.html"/>
+ <wsrfwsdl href="wsrf/dev_guide/wsrf_wsdl.html"/>
+ <wsrfresource href="wsrf/dev_guide/resource.html"/>
+ <metadata href="wsrf/dev_guide/metadata.html"/>
+ <single href="wsrf/dev_guide/singleton.html"/>
+ <addressing href="addressing/"/>
+ <wss4j href="wss4j/"/>
+ <asl href="LICENSE.txt"/>
+ </ws.apache.org>
+ <cvs.apache.org href="http://cvs.apache.org/">
+ <viewcvs href="viewcvs/">
+ <wsfx-cvs href="ws-fx/">
+ <wsrf-cvs href="wsrf/"/>
+ </wsfx-cvs>
+ </viewcvs>
+ </cvs.apache.org>
+ <www.apache.org href="http://www.apache.org/">
+ <foundation href="foundation/"/>
+ </www.apache.org>
+ <nagoya.apache.org href="http://nagoya.apache.org/">
+ <eyebrowse href="eyebrowse/"/>
+ <bugzilla href="bugzilla/"/>
+ <apachewiki href="wiki/apachewiki.cgi?HomePage"/>
+ </nagoya.apache.org>
+ <archive.apache.org href="http://archive.apache.org/">
+ <archive-ws href="dist/ws/"/>
+ </archive.apache.org>
+ <apachecon.com href="http://apachecon.com/"/>
+ </external-refs>
+</site>
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tabs.xml_old
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tabs.xml_old?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tabs.xml_old (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tabs.xml_old Fri Jun 2 10:30:32 2006
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!DOCTYPE tabs PUBLIC "-//APACHE//DTD Cocoon Documentation Tab V1.1//EN"
+ "tab-cocoon-v11.dtd">
+<tabs software="Pubscribe" title="Pubscribe" copyright="The Apache Software Foundation" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <!-- The rules are:
+ @dir will always have /index.html added.
+ @href is not modified unless it is root-relative and obviously specifies a
+ directory (ends in '/'), in which case /index.html will be added
+ -->
+ <tab id="home" label="Project Info" dir=""/>
+ <tab id="doc" label="Documentation" dir="" indexfile="getting_started.html"/>
+ <tab label="API Docs" dir="apidocs/"/>
+</tabs>
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/images/back.gif
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/images/back.gif?rev=411217&view=auto
==============================================================================
Binary file - no diff available.
Propchange: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/images/back.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/images/next.gif
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/images/next.gif?rev=411217&view=auto
==============================================================================
Binary file - no diff available.
Propchange: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/images/next.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/index.xml
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/index.xml?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/index.xml (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/index.xml Fri Jun 2 10:30:32 2006
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+ "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Pubscribe Tutorial</title>
+ </header>
+ <body>
+ <section>
+ <title>Creating and Deploying a WSRF/WSN Web Service</title>
+ <p>This tutorial provides a step-by-step approach to using Apache Pubscribe to create and deploy a WSRF-compliant Web service that includes a notification
+ producer for generating WSN-based notifications. The Web service represents a UNIX file system. If you want to see a completed version of the Web service, see
+ the <a href="site:quick">Quick Demonstration</a>.</p>
+ <note>To complete the tutorial, you must first <a href="site:installation">install</a> the distribution. In addition, If you want to create a service that acts as a notifcation
+ consumer, see the <a href="site:consumer">Notification Consumer</a> documentation in the Developer Guide.</note>
+ <p>The process consists of the following steps:</p>
+ <ol>
+ <li>
+ <a href="setup.html">Create a Working Directory</a>
+ </li>
+ <li>
+ <a href="wsdl.html">Create a WSRF/WSN WSDL</a>
+ </li>
+ <li>
+ <a href="wsdl2java.html">Run the Wsdl2Java Tool</a>
+ </li>
+ <li>
+ <a href="mod_home.html">Modify the Home Class</a>
+ </li>
+ <li>
+ <a href="mod_resource.html">Modify the Resource Class</a>
+ </li>
+ <li>
+ <a href="webapp.html">Compile and Deploy the Service</a>
+ </li>
+ <li>
+ <a href="test.html">Test the Service</a>
+ </li>
+ </ol>
+ <p>
+ <img src="images/next.gif" alt="go to the next step"/>
+ <a href="site:setup">Next</a>
+ </p>
+ </section>
+ </body>
+</document>
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/mod_home.xml
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/mod_home.xml?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/mod_home.xml (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/mod_home.xml Fri Jun 2 10:30:32 2006
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+ "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Modify the Home Class</title>
+ </header>
+ <body>
+ <section>
+ <title>Introduction</title>
+ <p>In this step of the tutorial, the generated Home class (<code>FilesystemHome</code>) is modified to include an <code>init</code> method.
+ The Home is used to lookup a resource instance. It can act as a factory for creating instances upon request, or build all instances. It is meant
+ to be the entry point for locating a resource instance.
+ </p>
+ </section>
+ <section>
+ <title>Modify the FilesytemHome Class</title>
+ <p>Open <code>WORK_DIR/generated/filesystem/src/java/org/apache/ws/resource/example/filesystem/FilesystemHome.java</code> and
+ replace the <code>public void init()</code> method with the following method. You will also need to copy the instance variables below.</p>
+ <source><![CDATA[
+ private static final String LVOL1_ID = "/dev/vg00/lvol1";
+ private static final String LVOL2_ID = "/dev/vg00/lvol2";
+
+ /**
+ * Create and add two resource instances.
+ *
+ * @throws Exception on error
+ */
+ public void init() throws Exception
+ {
+ super.init();
+ add( createInstance( LVOL1_ID ) );
+ add( createInstance( LVOL2_ID ) );
+ }]]></source>
+ <p>
+ <img src="images/back.gif" alt="go to the previous step"/>
+ <a href="site:wsdl2java">Back</a>
+ <img src="images/next.gif" alt="go to the next step"/>
+ <a href="site:modresource">Next</a>
+ </p>
+ </section>
+ </body>
+</document>
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/mod_resource.xml
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/mod_resource.xml?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/mod_resource.xml (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/mod_resource.xml Fri Jun 2 10:30:32 2006
@@ -0,0 +1,170 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+ "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Modify the Resource Class</title>
+ </header>
+ <body>
+ <section>
+ <title>Introduction</title>
+ <p>In this step of the tutorial, the generated Resource class (<code>FilesystemResource</code>) is modified to implement the <code>init</code>
+ method as well as several methods for the filesystem's custom operations. The Resource class is the stateful instance-representation of your Web service. The resource
+ maintains the resource <code>id</code> and the <code>ResourcePropertySet</code>. The resource <code>id</code> is the unique identifier for an instance of your Web
+ service. It allows you to have multiple resource instances, each with their own states, fronted by the same Web service. The stateful properties are
+ represented by the <code>ResourcePropertySet</code>. The <code>ResourcePropertySet</code> is the Java representation of the Resource
+ Properties document defined in the types section of your WSDL file.
+ </p>
+ <p>In addition, this class is used to expose resource properties as notification topics and register the exposed topics.
+ </p>
+ </section>
+ <section>
+ <title>Modify the Resource Class</title>
+ <p>Open <code>WORK_DIR/generated/filesystem/src/java/org/apache/ws/resource/example/filesystem/FilesystemResource.java</code> and
+ replace the <code>public void init()</code> method with the following method. You will also need to copy the variable and custom operation methods below.</p>
+ <source><![CDATA[
+private example.filesystem.backend.FileSystem m_filesystem;
+
+public void init()
+ {
+
+ super.init();
+
+ /*
+ * This is where you should associate the backend instance with
+ * the resource instance for a given id.
+ */
+ m_filesystem = new example.filesystem.backend.UnixFileSystem( m_id );
+
+ /*
+ * The resource property set which contains all of resource properties that were defined in the WSDL.
+ */
+ org.apache.ws.resource.properties.ResourcePropertySet resourcePropertySet = getResourcePropertySet();
+ org.apache.ws.resource.properties.ResourceProperty resourceProperty = null;
+
+ try
+ {
+ /*
+ * Initialize each of our properties by calling resourceProperty.add(propElem) and/or resourceProperty.setCallback(callback)...
+ */
+ resourceProperty = resourcePropertySet.get( FilesystemPropertyQNames.DEVICESPECIALFILE );
+ DeviceSpecialFileDocument deviceDocXBean = DeviceSpecialFileDocument.Factory.newInstance();
+ deviceDocXBean.setDeviceSpecialFile( m_filesystem.getDeviceSpecialFile() );
+ resourceProperty.add( deviceDocXBean );
+
+ resourceProperty = resourcePropertySet.get( FilesystemPropertyQNames.TYPE );
+ TypeDocument typeDocXBean = TypeDocument.Factory.newInstance();
+ typeDocXBean.setType( m_filesystem.getType() );
+ resourceProperty.add( typeDocXBean );
+
+ BackupFrequencyDocument backupDocXBean = BackupFrequencyDocument.Factory.newInstance();
+ backupDocXBean.setBackupFrequency( m_filesystem.getBackupFrequency() );
+ resourceProperty = resourcePropertySet.get( FilesystemPropertyQNames.BACKUPFREQUENCY );
+ resourceProperty.add( backupDocXBean );
+ resourceProperty.setCallback( new example.filesystem.callback.BackupFrequencyCallback( m_filesystem ) );
+
+ CommentDocument commentDocXBean = CommentDocument.Factory.newInstance();
+ commentDocXBean.setComment( m_filesystem.getComment() );
+ resourceProperty = resourcePropertySet.get( FilesystemPropertyQNames.COMMENT );
+ resourceProperty.add( commentDocXBean );
+ resourceProperty.setCallback( new example.filesystem.callback.CommentCallback( m_filesystem ) );
+
+ FsckPassNumberDocument fsckDocXBean = FsckPassNumberDocument.Factory.newInstance();
+ fsckDocXBean.setFsckPassNumber( m_filesystem.getFsckPassNumber() );
+ resourceProperty = resourcePropertySet.get( FilesystemPropertyQNames.FSCKPASSNUMBER );
+ resourceProperty.add( fsckDocXBean );
+ resourceProperty.setCallback( new example.filesystem.callback.FsckPassNumberCallback( m_filesystem ) );
+
+ MountPointDirectoryDocument mountPointDocXBean = MountPointDirectoryDocument.Factory.newInstance();
+ mountPointDocXBean.setMountPointDirectory( m_filesystem.getMountPoint() );
+ resourceProperty = resourcePropertySet.get( FilesystemPropertyQNames.MOUNTPOINTDIRECTORY );
+ resourceProperty.add( mountPointDocXBean );
+ resourceProperty.setCallback( new example.filesystem.callback.MountPointCallback( m_filesystem ) );
+
+ OptionsDocument optionsDocXBean =
+ OptionsDocument.Factory.newInstance();
+ org.apache.ws.resource.example.filesystem.OptionsDocument.Options options =
+ optionsDocXBean.addNewOptions();
+ java.util.List backendOptions =
+ m_filesystem.getOptions();
+ for ( int i = 0; i < backendOptions.size(); i++ )
+ {
+ options.addOption( (String) backendOptions.get( i ) );
+ }
+
+ resourceProperty = resourcePropertySet.get( FilesystemPropertyQNames.OPTIONS );
+ resourceProperty.add( optionsDocXBean );
+ resourceProperty.setCallback( new example.filesystem.callback.OptionsCallback( m_filesystem ) );
+ }
+ catch ( Exception e )
+ {
+ throw new javax.xml.rpc.JAXRPCException(
+ "There was a problem in initializing your resource properties. Please check your init() method. Cause: " +
+ e.getLocalizedMessage() );
+ }
+
+ // Resource Property {http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd}TerminationTime is implemented by the framework.
+ // Resource Property {http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd}CurrentTime is implemented by the framework.
+ // Resource Property {http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd}FixedTopicSet is implemented by the framework.
+ // Resource Property {http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd}Topic is implemented by the framework.
+ // Resource Property {http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd}TopicExpressionDialects is implemented by the framework.
+
+ /**
+ * This method enables the ResourceTermination Topic for notifications
+ * about this resource's termination. If you would not like this
+ * behaviour either comment or remove the line of code.
+ */
+ try
+ {
+ org.apache.ws.notification.topics.util.TopicUtils.addResourceTerminationTopic( getTopicSpaceSet(), this,
+ SPEC_NAMESPACE_SET );
+ }
+ catch ( Exception e )
+ {
+ throw new javax.xml.rpc.JAXRPCException(
+ "Unable to init the ResourceTermination topic. Cause: " + e.getLocalizedMessage(), e );
+ }
+
+ /**
+ * This method call will make all resource properties be exposed
+ * as Topics. If you would like to change that behaviour you can
+ * call TopicUtils.addResourcePropertyValueChangeTopic for each
+ * Topic you'd like to expose property change notifications for.
+ */
+ try
+ {
+ org.apache.ws.notification.topics.util.TopicUtils.addResourcePropertyValueChangeTopics(
+ getResourcePropertySet(), getTopicSpaceSet() );
+ }
+ catch ( Exception e )
+ {
+ throw new javax.xml.rpc.JAXRPCException(
+ "Unable to init the ResourceProperty Changed topics. Cause: " + e.getLocalizedMessage(), e );
+ }
+
+ }
+
+ public void mount() throws Exception
+ {
+ m_filesystem.mount();
+ }
+
+ public void unmount() throws Exception
+ {
+ m_filesystem.unmount();
+ }
+
+ public boolean isMounted()
+ {
+ return m_filesystem.isMounted();
+ }
+]]></source>
+ <p>
+ <img src="images/back.gif" alt="go to the previous step"/>
+ <a href="site:modhome">Back</a>
+ <img src="images/next.gif" alt="go to the next step"/>
+ <a href="site:webapp">Next</a>
+ </p>
+ </section>
+ </body>
+</document>
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/setup.xml
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/setup.xml?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/setup.xml (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/setup.xml Fri Jun 2 10:30:32 2006
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+ "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Create a Working Directory</title>
+ </header>
+ <body>
+ <section>
+ <title>Introduction</title>
+ <p>In this step of the tutorial, a development working directory is created and populated with several template files.
+ The template files help facilitate the development process. There is a WSRF/WSN-based WSDL template, an ANT build script, and a SOAP client. The templates
+ are discussed in further detail throughout the tutorial. It is a good idea to start a Pubscribe development project by creating a working directory and using the
+ templates.
+ </p>
+ </section>
+ <section>
+ <title>Create and Populate a Working Directory</title>
+ <p>To create a working directory for the filesystem example:
+ </p>
+ <ol>
+ <li>Create a directory on your computer (e.g.,<code> /filesystem</code>). This directory will be referred to as <code>WORK_DIR</code>.</li>
+ <li>Copy all the files in <code>INSTALL_DIR/template</code> to <code>WORK_DIR</code>.</li>
+ <li>Using a text editor, open <code>WORK_DIR/build.properties</code>.</li>
+ <li>Uncomment the <code>pubscribe.webapp.dir</code> property and set it to the location where the Puscribe Web application is installed. If you are using
+ Tomcat and have the <code>CATALINA_HOME</code> environment variable set, you do not need to modify this property.</li>
+ <li>Uncomment and modify the proxy settings if you require a proxy to connect to external Web sites.</li>
+ <li>Save and close build.properties.</li>
+ </ol>
+ <p>
+ <img src="images/back.gif" alt="go to the previous step"/>
+ <a href="site:tut">Back</a>
+ <img src="images/next.gif" alt="go to the next step"/>
+ <a href="site:wsdl">Next</a>
+ </p>
+ </section>
+ </body>
+</document>
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/test.xml
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/test.xml?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/test.xml (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/test.xml Fri Jun 2 10:30:32 2006
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+ "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Test the Service</title>
+ </header>
+ <body>
+ <section id="intro">
+ <title>Introduction</title>
+ <p>In this final step of the tutorial, a SOAP client is used to send requests to the filesystem service deployed in Tomcat. The requests are located in
+ <code>INSTALL_DIR/examples/filesystem/requests</code>. The client is used from an Ant script to send the requests. The scripts can be
+ leveraged in order to test your own services as well. Detailed instructions for using the SOAP client is provided in the
+ <a href="site:client">Developer Guide</a>.
+ </p>
+ </section>
+ <section id="testing">
+ <title>Sending SOAP Requests</title>
+ <p>To send a request to the filesystem service:
+ </p>
+ <ol>
+ <li>From a command prompt, change directories to <code>WORK_DIR</code>.</li>
+ <li>Run:
+ <source><![CDATA[
+ ant -f soapclient.xml -Durl=http://localhost:8080/pubscribe/services/filesystem -Dxml=INSTALL_DIR/examples/filesystem/requests/Subscribe_updateMountPointProp.soap]]></source>
+ Replace <code>INSTALL_DIR</code> in the <code>xml</code> property.</li>
+ </ol>
+ <p>You may also try other request messages in the
+ <code>requests</code> directory.</p>
+ <p>
+ <img src="images/back.gif" alt="go to the previous step"/>
+ <a href="site:webapp">Back</a>
+ </p>
+ </section>
+ </body>
+</document>
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/webapp.xml
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/webapp.xml?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/webapp.xml (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/webapp.xml Fri Jun 2 10:30:32 2006
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+ "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Compile and Deploy the Service</title>
+ </header>
+ <body>
+ <section id="intro">
+ <title>Introduction</title>
+ <p>In this step of the tutorial, the filesystem example code and the generated classes are compiled and deployed
+ to the Pubscribe Web application. An Ant script is provided for compiling and deploying. Detailed instructions for
+ using the Ant script are provided in the <a href="site:p_developer">Developer Guide</a>.
+ </p>
+ </section>
+ <section>
+ <title>Run the Compile/Deploy Ant Script</title>
+ <p>To compile and deploy the service:</p>
+ <ol>
+ <li>Copy <code>INSTALL_DIR/examples/filesystem/src/java/example</code> to
+ <code>WORK_DIR/generated/filesystem/src/java</code>.</li>
+ <li>Using a text editor, open <code>WORK_DIR/generated/filesystem/build.properties</code>.</li>
+ <li>Uncomment the <code>pubscribe.webapp.dir</code> property and set it to the location where the Pubscribe Web application is installed. If you are using
+ Tomcat and have <code>CATALINA_HOME</code> set, you do not need to modify this property.</li>
+ <li>Uncomment and modify the proxy settings if you require a proxy to connect to external Web sites.</li>
+ <li>Save and close build.properties.</li>
+ <li>From a command prompt, change directories to <code>WORK_DIR/generated/filesystem</code>.</li>
+ <li>Run <code>ant compile deploy</code>. The service is compiled and deployed to the Pubscribe Web application.</li>
+ <li>Start Tomcat if it is not already started.</li>
+ <li>Using a browser, go to <a href="http://localhost:8080/pubscribe/services">
+ http://localhost:8080/pubscribe/services</a> and verify that the filesystem service is deployed.
+ </li>
+ </ol>
+ <p>
+ <img src="images/back.gif" alt="go to the previous step"/>
+ <a href="site:modresource">Back</a>
+ <img src="images/next.gif" alt="go to the next step"/>
+ <a href="site:test">Next</a>
+ </p>
+ </section>
+ </body>
+</document>
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/wsdl.xml
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/wsdl.xml?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/wsdl.xml (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/wsdl.xml Fri Jun 2 10:30:32 2006
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+ "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Create a WSRF/WSN WSDL</title>
+ </header>
+ <body>
+ <section>
+ <title>Introduction</title>
+ <p>In this step of the tutorial, a WSRF/WSN-compliant WSDL is created for the filesystem resource. In the interest of time, the
+ <code>FileSystem.wsdl</code> has already been created for use in this tutorial.
+ </p>
+ <p> The WSDL was created using the WSRF/WSN WSDL template (<code>WORK_DIR/_TEMPLATE_.wsdl</code>). Use the template to
+ expedite the WSDL creation process for a resource. It contains detailed instructions and the default operations that
+ are required by a WSRF/WSN-compliant WSDL. In addition, the template contains sections for adding custom operations. It is
+ good practice to use the template if you are not familiar with the WSRF or WSN family of specifications. Detailed instructions for
+ composing a WSRF/WSN-compliant WSDL using the template are provided in the <a href="site:compose">Developer Guide</a>.
+ </p>
+ <p>The FileSystem WSDL is an example of a WSRF/WSN WSDL that contains a single portType
+ (<code>FileSystemPortType</code>), which exposes all of the optional portTypes defined by the WSRF-RP, WSRF-RL, and WSN-BN
+ specifications. It also defines two custom operations, <code>Mount</code> and <code>Unmount</code>, and a group of
+ custom resource properties.
+ </p>
+ </section>
+ <section>
+ <title>Copy the FileSystem WSDL</title>
+ <p>Copy <code>INSTALL_DIR/examples/filesystem/src/wsdl/FileSystem.wsdl</code> to <code>WORK_DIR</code>.</p>
+ <p>
+ <img src="images/back.gif" alt="go to the previous step"/>
+ <a href="site:setup">Back</a>
+ <img src="images/next.gif" alt="go to the next step"/>
+ <a href="site:wsdl2java">Next</a>
+ </p>
+ </section>
+ </body>
+</document>
Added: webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/wsdl2java.xml
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/wsdl2java.xml?rev=411217&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/wsdl2java.xml (added)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/pubscribe/tutorial/wsdl2java.xml Fri Jun 2 10:30:32 2006
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+ "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Run the Wsdl2Java Tool</title>
+ </header>
+ <body>
+ <section>
+ <title>Introduction</title>
+ <p>In this step of the tutorial, the Pubscribe Wsdl2Java tool is used to generate a set of artifacts for the filesystem example. The tool takes a WSDL
+ as its input and outputs the following artifacts:
+ </p>
+ <ul>
+ <li>
+ <a href="ext:xmlbeans.apache.org">XMLBeans</a> for all XML Schema types and elements defined in the types section of the WSDL</li>
+ <li>an abstract base Resource class</li>
+ <li>an abstract base Service class</li>
+ <li>an abstract base Home class</li>
+ <li>a Resource class</li>
+ <li>a Service class</li>
+ <li>a Home class</li>
+ <li>a CustomOperationsPortType interface</li>
+ <li>a PropertyQNames interface</li>
+ <li>an Axis deploy.wsdd file</li>
+ <li>a jndi-config.xml file</li>
+ </ul>
+ <note>The abstract classes and interfaces should NEVER be modified.</note>
+ </section>
+ <section>
+ <title>Generating the Artifacts</title>
+ <p>The Ant script (<code>WORK_DIR/build.xml</code>) contains a target for the Wsdl2Java tool. To generate the artifacts for the
+ filesystem example:</p>
+ <ol>
+ <li>From a command prompt, change directories to <code>WORK_DIR</code>.</li>
+ <li>Enter the following command: <code>ant generate</code>
+ </li>
+ </ol>
+ <p>The artifacts are generated and placed in <code>WORK_DIR/generated</code>. For more information about the
+ WSDL2Java tool and the generated artifacts, see <a href="site:tool">Using the WSDL2Java Tool</a> in the Developer's Guide.</p>
+ <p>
+ <img src="images/back.gif" alt="go to the previous step"/>
+ <a href="site:wsdl">Back</a>
+ <img src="images/next.gif" alt="go to the next step"/>
+ <a href="site:modhome">Next</a>
+ </p>
+ </section>
+ </body>
+</document>
Modified: webservices/muse/branches/1.0/src/site/content/xdocs/release_notes.xml
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/site/content/xdocs/release_notes.xml?rev=411217&r1=411216&r2=411217&view=diff
==============================================================================
--- webservices/muse/branches/1.0/src/site/content/xdocs/release_notes.xml (original)
+++ webservices/muse/branches/1.0/src/site/content/xdocs/release_notes.xml Fri Jun 2 10:30:32 2006
@@ -38,10 +38,16 @@
<code>NotificationProducer</code> portType. The resource properties: <code>Topic</code>, <code>FixedTopicSet</code>,
<code>TopicExpressionDialects</code> are now handled via a callback object which is registered in the generated <code>Abstract...Resource.init()</code>
method. This allows for the properties to be more dynamic as the implementor adds and removes Topics.</li>
+ <li>Removed the <code>TopicUtils.initNotificationProducerProperties()</code> method and its generated method call from Resources which implement the
+ <code>NotificationProducer</code> portType. The resource properties: <code>Topic</code>, <code>FixedTopicSet</code>,
+ <code>TopicExpressionDialects</code> are now handled via a callback object which is registered in the generated <code>Abstract...Resource.init()</code>
+ method. This allows for the properties to be more dynamic as the implementor adds and removes Topics.</li>
+
</ul>
<p/>
</section>
<section>
+
<title>Known Issues</title>
<ul>
<li>Any time a home object is looked up from JNDI, its init() method is automatically invoked by the
@@ -55,5 +61,9 @@
post a question on one of the Muse <a href="contact_info.html">mailing lists</a>.
</p>
</section>
+
+
+
</body>
+
</document>
---------------------------------------------------------------------
To unsubscribe, e-mail: muse-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-commits-help@ws.apache.org