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/06 21:12:42 UTC

svn commit: r412194 [3/7] - in /webservices/muse/trunk: ./ src/ src/site/ src/site/classes/ src/site/content/ src/site/content/images/ src/site/content/xdocs/ src/site/content/xdocs/muse/ src/site/content/xdocs/muse/dev_guide/ src/site/content/xdocs/mu...

Added: webservices/muse/trunk/src/site/content/xdocs/muse/site.xml_old
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/muse/site.xml_old?rev=412194&view=auto
==============================================================================
--- webservices/muse/trunk/src/site/content/xdocs/muse/site.xml_old (added)
+++ webservices/muse/trunk/src/site/content/xdocs/muse/site.xml_old Tue Jun  6 12:12:37 2006
@@ -0,0 +1,103 @@
+<?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="Muse" href="" xmlns="http://apache.org/forrest/linkmap/1.0">
+	<project label="Project Info" tab="home">
+		<index 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"/>
+		<wsdm label="WSDM Specs" href="muws.html"/>
+	</project>
+	<download label="Downloads" tab="home">
+		<releases label="Releases" href="release.html"/>
+	</download>
+	<!-- **************** 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 WSDLs" href="wsdl.html"/>
+		<wsdl2java label="Run wsdl2Java Tool" href="wsdl2java.html"/>
+		<modhome label="Modify Home Classes" href="mod_home.html"/>
+		<modresource label="Modify Resource Classes" href="mod_resource.html"/>
+		<modservice label="Modify Service Class" href="mod_service.html"/>
+		<webapp label="Deploy Services" 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="MuWS WSDL" href="wsdl.html"/>
+		<tool label="Using Wsdl2Java" href="wsdl_tool.html"/>
+		<home label="Home Class" href="home.html"/>
+		<topics label="MUWS-Specific Topics" href="muws_topics.html"/>
+		<rel label="Relationships" href="relationships.html"/>
+		<adv label="Advertiser Service" href="advertiser.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">
+		<wsrf label="Apache WSRF" href="ext:wsrf/"/>
+		<pubscribe label="Apache Pubscribe" href="ext:pubscribe/"/>
+		<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/">
+			<wsrf href="wsrf/"/>
+			<wsrfwsdl href="wsrf/dev_guide/wsrf_wsdl.html"/>
+			<spec href="wsrf/wsrf.html"/>
+			<metadata href="wsrf/dev_guide/metadata.html"/>
+			<single href="wsrf/dev_guide/singleton.html"/>
+			<resource href="wsrf/dev_guide/resource.html"/>
+			<pubscribe href="pubscribe/"/>
+			<pubwsdl href="pubscribe/dev_guide/wsdl.html"/>
+			<producer href="pubscribe/dev_guide/producer.html"/>
+			<wsn href="pubscribe/wsn.html"/>
+			<mirrors href="mirrors.cgi"/>
+			<axis href="axis/"/>
+			<wsfx href="ws-fx/">
+				<addressing href="addressing/"/>
+				<wss4j href="wss4j/"/>
+			</wsfx>
+			<asl href="LICENSE.txt"/>
+		</ws.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/trunk/src/site/content/xdocs/muse/tabs.xml_old
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/muse/tabs.xml_old?rev=412194&view=auto
==============================================================================
--- webservices/muse/trunk/src/site/content/xdocs/muse/tabs.xml_old (added)
+++ webservices/muse/trunk/src/site/content/xdocs/muse/tabs.xml_old Tue Jun  6 12:12:37 2006
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE tabs PUBLIC "-//APACHE//DTD Cocoon Documentation Tab V1.1//EN" "tab-cocoon-v11.dtd">
+<tabs software="Muse" title="Muse" 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/trunk/src/site/content/xdocs/muse/tutorial/images/back.gif
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/images/back.gif?rev=412194&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/images/back.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/images/next.gif
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/images/next.gif?rev=412194&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/images/next.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/index.xml
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/index.xml?rev=412194&view=auto
==============================================================================
--- webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/index.xml (added)
+++ webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/index.xml Tue Jun  6 12:12:37 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>Apache Muse Tutorial</title>
+	</header>
+	<body>
+		<section>
+			<title>Creating and Deploying a MUWS Web Service</title>
+			<p>This tutorial provides a step-by-step approach to using Apache Muse to create and deploy two MUWS-compliant Web services that have a relationship. The Web 
+			services represent a UNIX file system resource and a host resource. If you want to see a completed version of this example, 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.</note>
+			<p>The tutorial consists of the following steps:</p>
+			<ol>
+				<li>
+					<a href="setup.html">Create a Working Directory</a>
+				</li>
+				<li>
+					<a href="wsdl.html">Create MUWS WSDLs</a>
+				</li>
+				<li>
+					<a href="wsdl2java.html">Run the Wsdl2Java Tool</a>
+				</li>
+				<li>
+					<a href="mod_home.html">Modify the Home Classes</a>
+				</li>
+				<li>
+					<a href="mod_resource.html">Modify the Resource Classes</a>
+				</li>
+				<li>
+					<a href="mod_service.html">Modify the Service Class</a>
+				</li>
+				<li>
+					<a href="webapp.html">Compile and Deploy the Services</a>
+				</li>
+				<li>
+					<a href="test.html">Test the Services</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/trunk/src/site/content/xdocs/muse/tutorial/mod_home.xml
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/mod_home.xml?rev=412194&view=auto
==============================================================================
--- webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/mod_home.xml (added)
+++ webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/mod_home.xml Tue Jun  6 12:12:37 2006
@@ -0,0 +1,56 @@
+<?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 Classes</title>
+	</header>
+	<body>
+		<section>
+			<title>Introduction</title>
+			<p>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. In this step of the tutorial, the generated Home classes (<code>FilesystemHome</code> and <code>
+			HostHome</code>) are modified to include an <code>init()</code> method.</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>
+		</section>
+		<section>
+			<title>Modify the Host Home Class</title>
+			<p>Open <code>WORK_DIR/generated/host/src/java/org/apache/ws/resource/example/host/HostHome.java</code> and
+			replace the <code>init()</code> method with the following method:
+			</p>
+			<source><![CDATA[
+public void init() throws Exception
+    {
+        super.init();
+        add( createInstance( null ) );
+
+    }		]]></source>
+    			<note>The host is a singleton service. Therefore, the instance is set to <code>null</code>.</note>
+			<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/trunk/src/site/content/xdocs/muse/tutorial/mod_resource.xml
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/mod_resource.xml?rev=412194&view=auto
==============================================================================
--- webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/mod_resource.xml (added)
+++ webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/mod_resource.xml Tue Jun  6 12:12:37 2006
@@ -0,0 +1,302 @@
+<?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 Classes</title>
+	</header>
+	<body>
+		<section>
+			<title>Introduction</title>
+			<p>In this step of the tutorial, the generated Resource classes  (<code>FilesystemResource</code> and <code>HostResource</code>) are modified 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 a 
+			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>
+			The resource class is also used to expose resource properties as notification topics and register the exposed topics. This includes MUWS specific topics for all 
+			properties that are defined in the schema section of the WSDL.
+			</p>
+			<p> 
+			Lastly, the resource class is used to define any relationships this resource has to other resources. 
+			</p>
+		</section>
+		<section>
+			<title>Modify the FileSystem 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 methods. You will also need to copy the instance variables and custom operation 
+			methods below.</p>
+			<source><![CDATA[
+    private static final String HOST_HOME_LOCATION =
+     org.apache.ws.resource.JndiConstants.CONTEXT_NAME_SERVICES + "/host/" + org.apache.ws.resource.JndiConstants.ATOMIC_NAME_HOME;
+
+    private example.filesystem.backend.FileSystem m_filesystem;
+
+    /**
+     * Initializes this resource's state (properties, etc.).
+     */
+    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 );
+
+        /*
+         * Add MUWS "capability topics" to the topic set.
+         */
+        org.apache.ws.muws.v1_0.topics.ManagementEventTopic identityCapabilityTopic;
+        org.apache.ws.muws.v1_0.topics.ManagementEventTopic manageabilityCharacteristicsCapabilityTopic;
+        org.apache.ws.muws.v1_0.topics.ManagementEventTopic operationalStatusCapabilityTopic;
+        org.apache.ws.muws.v1_0.topics.ManagementEventTopic relationshipsCapabilityTopic;
+        try
+        {
+            org.apache.ws.notification.topics.TopicSpace muwsTopicSpace = new org.apache.ws.notification.topics.impl.TopicSpaceImpl( org.apache.ws.muws.v1_0.MuwsConstants.NSURI_MUWS_PART2_TOPICS );
+            getTopicSpaceSet().addTopicSpace( muwsTopicSpace );
+
+            identityCapabilityTopic = new org.apache.ws.muws.v1_0.topics.impl.XmlBeansManagementEventTopicImpl( org.apache.ws.muws.v1_0.capability.IdentityCapability.TOPIC_NAME );
+            muwsTopicSpace.addTopic( identityCapabilityTopic );
+            manageabilityCharacteristicsCapabilityTopic = new org.apache.ws.muws.v1_0.topics.impl.XmlBeansManagementEventTopicImpl(
+                    org.apache.ws.muws.v1_0.capability.ManageabilityCharacteristicsCapability.TOPIC_NAME );
+            muwsTopicSpace.addTopic( manageabilityCharacteristicsCapabilityTopic );
+            operationalStatusCapabilityTopic = new org.apache.ws.muws.v1_0.topics.impl.XmlBeansManagementEventTopicImpl(
+                    org.apache.ws.muws.v1_0.capability.OperationalStatusCapability.TOPIC_NAME );
+            muwsTopicSpace.addTopic( operationalStatusCapabilityTopic );
+            relationshipsCapabilityTopic = new org.apache.ws.muws.v1_0.topics.impl.XmlBeansManagementEventTopicImpl( org.apache.ws.muws.v1_0.capability.RelationshipsCapability.TOPIC_NAME );
+            muwsTopicSpace.addTopic( relationshipsCapabilityTopic );
+        }
+        catch ( Exception e )
+        {
+            throw new RuntimeException( "Failed to add MUWS capability topics to topic set of " + this.getClass().getName() + " resource with ID " + getID() + ".", e );
+        }
+
+        org.apache.ws.resource.properties.ResourcePropertySet resourcePropertySet = getResourcePropertySet();
+        org.apache.ws.resource.properties.ResourceProperty resourceProperty;
+        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 ) );
+
+            /*
+             * MUWS-defined properties.
+             */
+            // init the {http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd}ResourceId resource property
+            org.apache.ws.muws.MuwsUtils.initResourceIdProperty(this);
+            // NOTE: it's not necessary to add a property change listener, since the ResourceId prop is immutable
+
+            // init the {http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd}ManageabilityCapability resource property
+            resourceProperty = resourcePropertySet.get( FilesystemPropertyQNames.MANAGEABILITYCAPABILITY );
+            // add property element for MUWS Identity capability...
+            org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.ManageabilityCapabilityDocument identityCapabilityPropElem = org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.ManageabilityCapabilityDocument.Factory.newInstance();
+            identityCapabilityPropElem.setManageabilityCapability( org.apache.ws.muws.v1_0.capability.IdentityCapability.URI );
+            resourceProperty.add( identityCapabilityPropElem );
+            // add property element for MUWS ManageabilityCharacteristics capability...
+            org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.ManageabilityCapabilityDocument manageabilityCharacteristicsCapabilityPropElem = org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.ManageabilityCapabilityDocument.Factory.newInstance();
+            manageabilityCharacteristicsCapabilityPropElem.setManageabilityCapability(
+                    org.apache.ws.muws.v1_0.capability.ManageabilityCharacteristicsCapability.URI );
+            resourceProperty.add( manageabilityCharacteristicsCapabilityPropElem );
+            // add property element for MUWS OperationalStatus capability...
+            org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.ManageabilityCapabilityDocument operationalStatusCapabilityPropElem = org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.ManageabilityCapabilityDocument.Factory.newInstance();
+            operationalStatusCapabilityPropElem.setManageabilityCapability( org.apache.ws.muws.v1_0.capability.OperationalStatusCapability.URI );
+            resourceProperty.add( operationalStatusCapabilityPropElem );
+            // add property element for MUWS Relationships capability...
+            org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.ManageabilityCapabilityDocument relationshipsCapabilityPropElem = org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.ManageabilityCapabilityDocument.Factory.newInstance();
+            relationshipsCapabilityPropElem.setManageabilityCapability( org.apache.ws.muws.v1_0.capability.RelationshipsCapability.URI );
+            resourceProperty.add( relationshipsCapabilityPropElem );
+            // NOTE: it's not necessary to add a property change listener, since the ManageabilityCapability prop is immutable
+
+            // init the {http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd}OperationalStatus resource property
+            resourceProperty = resourcePropertySet.get( FilesystemPropertyQNames.OPERATIONALSTATUS );
+            org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.OperationalStatusDocument statusDoc = org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.OperationalStatusDocument.Factory.newInstance();
+            statusDoc.setOperationalStatus( org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.OperationalStatusDocument.OperationalStatus.AVAILABLE );
+            resourceProperty.add(statusDoc);
+            resourceProperty.setCallback( new example.filesystem.callback.OperationalStatusCallback( m_filesystem ) );
+            resourceProperty.addChangeListener( operationalStatusCapabilityTopic ); // add for property-value-changed management events
+
+            // init the {http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd}Relationship resource property
+            resourceProperty = resourcePropertySet.get( FilesystemPropertyQNames.RELATIONSHIP );
+            org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipDocument prop_relationship = org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipDocument.Factory.newInstance();
+            /*
+             * Create the relationship bean...
+             */
+            org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipType relationshipType = null;
+            relationshipType = prop_relationship.addNewRelationship();
+            org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipTypeType relationshipTypeType = relationshipType.addNewType();
+            org.apache.ws.util.XmlBeanUtils.addChildElement( relationshipTypeType, new javax.xml.namespace.QName( "http://myns.com/", "ContainedBy", "myns" ) );
+
+
+            org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipParticipantType relationshipParticipantType = relationshipType.addNewParticipant();
+            org.apache.ws.resource.properties.ResourceProperty resourceIdProp = resourcePropertySet.get( FilesystemPropertyQNames.RESOURCEID );
+            org.apache.xmlbeans.XmlAnyURI resourceId = (org.apache.xmlbeans.XmlAnyURI) resourceIdProp.get( 0 );
+            relationshipParticipantType.setResourceId( resourceId.getStringValue() );
+            relationshipParticipantType.setRole( "urn:containee" );
+            // NOTE: the below line assumes that the Filesystem resource's EndpointReference field has been initialized
+            org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType filesystemReference = (org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType) ((org.apache.ws.addressing.XmlBeansEndpointReference)getEndpointReference()).getXmlObject( org.apache.ws.addressing.v2004_08_10.AddressingConstants.NSURI_ADDRESSING_SCHEMA );
+            relationshipParticipantType.setManageabilityEndpointReferenceArray( new org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType[] { filesystemReference } );
+
+            org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipParticipantType relationshipParticipantType2 = relationshipType.addNewParticipant();
+            org.apache.ws.resource.ResourceHome hostHome = (org.apache.ws.resource.ResourceHome) new javax.naming.InitialContext( ).lookup( HOST_HOME_LOCATION );
+            org.apache.ws.resource.PropertiesResource host = (org.apache.ws.resource.PropertiesResource) hostHome.find( null ); // host is a singleton resource w/ a null resource identifier
+            resourceIdProp = host.getResourcePropertySet().get( org.apache.ws.muws.v1_0.capability.IdentityCapability.PROP_NAME_RESOURCE_ID );
+            resourceId = (org.apache.xmlbeans.XmlAnyURI) resourceIdProp.get( 0 );
+            relationshipParticipantType2.setResourceId( resourceId.getStringValue() );
+            relationshipParticipantType2.setRole( "urn:container" );
+            // NOTE: the below line assumes that the Host resource's EndpointReference field has been initialized
+            org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType hostReference = (org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType) ((org.apache.ws.addressing.XmlBeansEndpointReference)host.getEndpointReference()).getXmlObject( org.apache.ws.addressing.v2004_08_10.AddressingConstants.NSURI_ADDRESSING_SCHEMA );
+            relationshipParticipantType.setManageabilityEndpointReferenceArray( new org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType[] { hostReference } );
+
+            resourceProperty.add( prop_relationship );
+            resourceProperty.addChangeListener( relationshipsCapabilityTopic ); // add for property-value-changed management events
+        }
+        catch ( Exception e )
+        {
+            throw new RuntimeException( "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 RuntimeException(
+                    "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 RuntimeException(
+                    "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>
+		</section>
+		<section>
+			<title>Modify the Host Resource Class</title>
+			<p>Open <code>WORK_DIR/generated/host/src/java/org/apache/ws/resource/example/host/HostResource.java</code> and
+			replace the <code>public void init()</code> method with the following method:
+			</p>
+			<source><![CDATA[
+ public void init()
+       {
+           super.init();
+
+           /**
+   		 * The ResourcePropertySet which contains all the defined ResourceProperties
+   		 */
+   		org.apache.ws.resource.properties.ResourcePropertySet resourcePropertySet = getResourcePropertySet();
+   		org.apache.ws.resource.properties.ResourceProperty resourceProperty = null;
+
+
+   	try{
+             // init the {http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd}ResourceId resource property
+             org.apache.ws.muws.MuwsUtils.initResourceIdProperty(this);
+             // NOTE: it's not necessary to add a property change listener, since the ResourceId prop is immutable
+
+   		}
+   	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());
+   	}
+   }]]></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:modservice">Next</a>
+			</p>
+		</section>
+	</body>
+</document>

Added: webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/mod_service.xml
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/mod_service.xml?rev=412194&view=auto
==============================================================================
--- webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/mod_service.xml (added)
+++ webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/mod_service.xml Tue Jun  6 12:12:37 2006
@@ -0,0 +1,80 @@
+<?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 Service Class</title>
+	</header>
+	<body>
+		<section>
+			<title>Introduction</title>
+			<p>In this step of the tutorial, the generated Service class (<code>FilesystemService</code>) is modified to include an <code>updateOperationalStatus</code> method. 
+			This method updates the <code>OperationalStatus</code> property whenever a <code>Mount</code> or <code>Unmount</code> operation is performed and publishes 
+			a <code>ResourcePropertyValueChangeEvent</code> to the <code>OperationalStatus</code> notification topic. A client that subscribes to the 
+			<code>OperationalStatus</code> notification topic receives a notification when this property changes.  The <code>mount</code> and <code>unmount</code> methods are implemented to call the <code>updateOperationalStatus</code> method when they are invoked.
+			</p>
+		</section>
+		<section>
+			<title>Modify the Service Class</title>
+			<p>Open <code>WORK_DIR/generated/filesystem/src/java/org/apache/ws/resource/example/filesystem/FilesystemService.java</code> and
+			add/replace the following methods:</p>
+			<source><![CDATA[
+     public org.apache.ws.resource.example.filesystem.UnmountResponseDocument unmount(org.apache.ws.resource.example.filesystem.UnmountDocument requestDoc)
+             throws org.apache.ws.resource.example.filesystem.MountDeviceBusyFaultException
+     {
+         try
+         {
+             ((FilesystemResource) getResource()).unmount();
+             updateOperationalStatus(org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.OperationalStatusDocument.OperationalStatus.UNAVAILABLE);
+         }
+         catch (Exception e)
+         {
+             throw new MountDeviceBusyFaultException(getNamespaceSet(), e.getLocalizedMessage());
+         }
+         org.apache.ws.resource.example.filesystem.UnmountResponseDocument responseDocument = org.apache.ws.resource.example.filesystem.UnmountResponseDocument.Factory.newInstance();
+         org.apache.ws.resource.example.filesystem.UnmountResponseDocument.UnmountResponse response = responseDocument.addNewUnmountResponse();
+         return responseDocument;
+     }
+
+     public org.apache.ws.resource.example.filesystem.MountResponseDocument mount(org.apache.ws.resource.example.filesystem.MountDocument requestDoc)
+             throws org.apache.ws.resource.example.filesystem.MountDeviceBusyFaultException
+     {
+         try
+         {
+             ((FilesystemResource) getResource()).mount();
+             updateOperationalStatus(org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.OperationalStatusDocument.OperationalStatus.AVAILABLE);
+         }
+         catch (Exception e)
+         {
+             throw new MountDeviceBusyFaultException(getNamespaceSet(), e.getLocalizedMessage());
+         }
+         org.apache.ws.resource.example.filesystem.MountResponseDocument responseDocument = org.apache.ws.resource.example.filesystem.MountResponseDocument.Factory.newInstance();
+         org.apache.ws.resource.example.filesystem.MountResponseDocument.MountResponse response = responseDocument.addNewMountResponse();
+         return responseDocument;
+    }
+    
+public void updateOperationalStatus(org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.OperationalStatusDocument.OperationalStatus.Enum newStatus)
+    {
+        org.apache.ws.notification.base.NotificationProducerResource resource = (org.apache.ws.notification.base.NotificationProducerResource)getResource();
+        org.apache.ws.resource.properties.ResourceProperty statusProp = resource.getResourcePropertySet().get(FilesystemPropertyQNames.OPERATIONALSTATUS);
+        org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.OperationalStatusDocument.OperationalStatus currentStatus = (org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.OperationalStatusDocument.OperationalStatus) statusProp.get(0);
+        if (!currentStatus.enumValue().equals(newStatus))
+        {
+            org.apache.xmlbeans.XmlObject oldStatus = org.apache.ws.util.XmlBeanUtils.copyXmlBean(currentStatus);
+            currentStatus.set(newStatus);
+            org.apache.ws.notification.topics.TopicSpace muwsTopicSpace = resource.getTopicSpaceSet().getTopicSpace(org.apache.ws.muws.v1_0.MuwsConstants.NSURI_MUWS_PART2_TOPICS);
+            org.apache.ws.muws.v1_0.topics.impl.XmlBeansManagementEventTopicImpl statusTopic = (org.apache.ws.muws.v1_0.topics.impl.XmlBeansManagementEventTopicImpl) muwsTopicSpace.getTopic(org.apache.ws.muws.v1_0.capability.OperationalStatusCapability.TOPIC_NAME);
+            org.apache.ws.resource.properties.ResourcePropertyValueChangeEvent statusChangeEvent = new org.apache.ws.resource.properties.v2004_06.impl.XmlBeansResourcePropertyValueChangeEvent(new Object[]{oldStatus}, new Object[]{currentStatus});
+            statusTopic.propertyChanged(statusChangeEvent);  // publish the event
+        }
+        return;
+    }]]></source>
+			<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:webapp">Next</a>
+			</p>
+		</section>
+	</body>
+</document>

Added: webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/setup.xml
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/setup.xml?rev=412194&view=auto
==============================================================================
--- webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/setup.xml (added)
+++ webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/setup.xml Tue Jun  6 12:12:37 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 MUWS-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 MUWS 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>muse.webapp.dir</code> property and set it to the location where the Muse 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/trunk/src/site/content/xdocs/muse/tutorial/test.xml
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/test.xml?rev=412194&view=auto
==============================================================================
--- webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/test.xml (added)
+++ webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/test.xml Tue Jun  6 12:12:37 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 Services</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 are 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/muse/services/filesystem -Dxml=INSTALL_DIR/examples/filesystem/requests/GetMultipleResourceProperties.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/trunk/src/site/content/xdocs/muse/tutorial/webapp.xml
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/webapp.xml?rev=412194&view=auto
==============================================================================
--- webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/webapp.xml (added)
+++ webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/webapp.xml Tue Jun  6 12:12:37 2006
@@ -0,0 +1,69 @@
+<?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 Services</title>
+	</header>
+	<body>
+		<section id="intro">
+			<title>Introduction</title>
+			<p>In this step of the tutorial, the example code and the generated classes are compiled and deployed
+         		to the Muse 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:dev">Developer Guide</a>.
+			</p>
+		</section>
+		<section>
+			<title>Run the Compile/Deploy Ant Script</title>
+			<p>Ant scripts are automatically generated for both the filesystem example and the host example. Each Ant script must be run separately.</p>
+			<section>
+				<title>Compile and Deploy FileSystem</title>
+				<p>To compile and deploy the FileSystem 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>muse.webapp.dir</code> property and set it to the location where the Muse 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 Muse Web application.</li>
+				</ol>
+			</section>
+			<section>
+				<title>Compile and Deploy Host</title>
+				<p>To compile and deploy the Host service:</p>
+				<ol>
+					<li>Using a text editor, open <code>WORK_DIR/generated/host/build.properties</code>.</li>
+					<li>Uncomment the <code>muse.webapp.dir</code> property and set it to the location where the Muse 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/host</code>.</li>
+					<li>Run <code>ant compile deploy</code>. The service is compiled and deployed to the Muse Web application.</li>
+					<li>Using a text editor, open <code>TOMCAT_HOME/webapps/muse/WEB-INF/classes/jndi-config.xml</code>.</li>
+					<li>From the <code><![CDATA[<service name="host">]]></code> block, remove the <code>resourceIdentifierReferenceParameterName</code> 
+					parameter. This parameter is not required since this services is a singleton. Removing this entry ensures that Muse does not look for a resource id
+					in the WS Address headers.</li>
+					<li>Save and close jndi-config.xml.</li>
+				</ol>
+			</section>
+		</section>
+		<section>
+			<title>Verify the Deployment</title>
+			<p>To verify the deployment:</p>
+			<ol>
+				<li>Start Tomcat. If Tomcat is already started, you must restart it.</li>
+				<li>Using a browser, go to <a href="http://localhost:8080/muse/services">
+					http://localhost:8080/muse/services</a> and verify that the filesystem and host services are deployed.</li>
+			</ol>
+			<p>
+				<img src="images/back.gif" alt="go to the previous step"/>
+				<a href="site:modservice">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/trunk/src/site/content/xdocs/muse/tutorial/wsdl.xml
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/wsdl.xml?rev=412194&view=auto
==============================================================================
--- webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/wsdl.xml (added)
+++ webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/wsdl.xml Tue Jun  6 12:12:37 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 MUWS WSDLs</title>
+	</header>
+	<body>
+		<section>
+			<title>Introduction</title>
+			<p>In this step of the tutorial, MUWS-compliant WSDLs are created for the filesystem resource and the host resource. In the interest of time, the
+			<code>FileSystem.wsdl</code>, and <code>host.wsdl</code> have already been created for use in this tutorial. 
+			</p>
+			<p>	The WSDLs were created using the MUWS 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 MUWS-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 WSDM, WSRF, or WSN family of specifications. Detailed instructions for 
+			composing the WSDLs using the template are provided in the <a href="site:compose">Developer Guide</a>.
+             		</p>
+			<p>Both the FileSystem WSDL and Host WSDL are an example of a MUWS WSDL that contains a single portType 
+			(<code>FileSystemPortType</code> and <code>HostPortType</code> respectively). The FileSystem WSDL exposes operations defined by the WSRF-RP, 
+			WSRF-RL,  WSN-BN, and MUWS. The WSDL also defines two custom operations, <code>Mount</code> and <code>Unmount</code>, as well as corresponding custom 
+			resource properties. The Host WSDL is very basic and only contains a single operation from WSRF-RP (getResourceProperty). The host resource is only used to 
+			demonstrate how different resources can be related. Most of the interaction with these WS Resources is done through FileSystem.
+			</p>
+		</section>
+		<section>
+			<title>Copy the WSDLs</title>
+			<p>Copy <code>INSTALL_DIR/examples/filesystem/src/wsdl/FileSystem.wsdl</code> and <code>Host.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/trunk/src/site/content/xdocs/muse/tutorial/wsdl2java.xml
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/wsdl2java.xml?rev=412194&view=auto
==============================================================================
--- webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/wsdl2java.xml (added)
+++ webservices/muse/trunk/src/site/content/xdocs/muse/tutorial/wsdl2java.xml Tue Jun  6 12:12:37 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 MUWS Wsdl2Java tool is used to generate a set of artifacts for the filesystem and host example. The tool takes any number of WSDL files
+			as its input and outputs the following artifacts for each WSDL:
+      			</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 and host 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>

Added: webservices/muse/trunk/src/site/content/xdocs/muws.xml
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/muws.xml?rev=412194&view=auto
==============================================================================
--- webservices/muse/trunk/src/site/content/xdocs/muws.xml (added)
+++ webservices/muse/trunk/src/site/content/xdocs/muws.xml Tue Jun  6 12:12:37 2006
@@ -0,0 +1,188 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" 
+          "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+	<header>
+		<title>WSDM Specifications</title>
+	</header>
+	<body>
+	  
+	  
+    <section>
+     <title>Web Services Resource Framework </title>
+     <section>
+      <title>Overview</title>
+  
+      <p>       
+       Web Services Resource Framework (WSRF) is a suite of specifications published by the 
+       <a href="http://www.oasis-open.org/">OASIS</a>
+       <a href="http://www.oasis-open.org/committees/wsrf/">WSRF TC</a>.
+       It is comprised of the following specifications:       
+      </p>
+  
+      <section>
+        <title>WS-Resource</title> 
+        <ul>
+          <li>v1.2 draft 2 (Dec 2004): [<a href="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-Resource-1.2-draft-02.pdf">spec</a>]</li>
+        </ul>
+      </section>
+  
+      <section>
+        <title>WS-ResourceProperties (WSRF-RP)</title> 
+        <ul>
+          <li>v1.2 draft 5 (Nov 2004):  [<a href="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-ResourceProperties-1.2-draft-05.pdf">spec</a>] [<a href="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-ResourceProperties-1.2-draft-05.wsdl">WSDL</a>] [<a href="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-ResourceProperties-1.2-draft-05.xsd">XSD</a>]</li>
+          <li>v1.2 draft 4 (June 2004): [<a href="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-04.pdf">spec</a>] [<a href="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl">WSDL</a>] [<a href="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd">XSD</a>]</li>
+          <li>v1.1 (03/05/03):  [<a href="http://www.ibm.com/developerworks/library/ws-resource/ws-resourceproperties.pdf">spec</a>] [<a href="http://www.ibm.com/developerworks/library/ws-resource/WS-ResourceProperties.wsdl">WSDL</a>] [<a href="http://www.ibm.com/developerworks/library/ws-resource/WS-ResourceProperties.xsd">XSD</a>]</li>          
+        </ul>
+      </section>
+  
+      <section>
+        <title>WS-ResourceLifetime (WSRF-RL)</title>
+        <ul>
+          <li>v1.2 draft 4 (Nov 2004):  [<a href="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-ResourceLifetime-1.2-draft-04.pdf">spec</a>] [<a href="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-ResourceLifetime-1.2-draft-04.wsdl">WSDL</a>] [<a href="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-ResourceLifetime-1.2-draft-04.xsd">XSD</a>]</li>
+          <li>v1.2 draft 3 (June 2004): [<a href="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-03.pdf">spec</a>] [<a href="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl">WSDL</a>] [<a href="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd">XSD</a>]</li>          
+          <li>v1.1 (03/05/04):  [<a href="http://www.ibm.com/developerworks/library/ws-resource/ws-resourcelifetime.pdf">spec</a>] [<a href="http://www.ibm.com/developerworks/library/ws-resource/WS-ResourceLifetime.wsdl">WSDL</a>] [<a href="http://www.ibm.com/developerworks/library/ws-resource/WS-ResourceLifetime.xsd">XSD</a>]</li>
+        </ul>
+      </section>   
+      
+      <section>
+        <title>WS-ServiceGroup (WSRF-SG)</title>
+        <ul>
+          <li>v1.2 draft 3 (Nov 2004):  [<a href="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-ServiceGroup-1.2-draft-03.pdf">spec</a>] [<a href="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-ServiceGroup-1.2-draft-03.wsdl">WSDL</a>] [<a href="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-ServiceGroup-1.2-draft-03.xsd">XSD</a>]</li>
+          <li>v1.2 draft 2 (June 2004): [<a href="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ServiceGroup-1.2-draft-02.pdf">spec</a>] [<a href="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ServiceGroup-1.2-draft-01.wsdl">WSDL</a>] [<a href="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ServiceGroup-1.2-draft-01.xsd">XSD</a>] </li>
+          <li>v1.0 (03/31/04):  [<a href="http://www.ibm.com/developerworks/library/ws-resource/ws-servicegroup.pdf">spec</a>] [<a href="http://www.ibm.com/developerworks/library/ws-resource/WS-ServiceGroup.wsdl">WSDL</a>] [<a href="http://www.ibm.com/developerworks/library/ws-resource/WS-ServiceGroup.xsd">XSD</a>]</li>                   
+        </ul>      
+      </section>   
+      
+      <section>
+        <title>WS-BaseFaults (WSRF-BF)</title>
+        <ul>
+          <li>v1.2 draft 3 (Nov 2004):  [<a href="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-BaseFaults-1.2-draft-03.pdf">spec</a>] [<a href="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-BaseFaults-1.2-draft-03.wsdl">WSDL</a>] [<a href="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-BaseFaults-1.2-draft-03.xsd">XSD</a>]</li>
+          <li>v1.2 draft 2 (June 2004): [<a href="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-02.pdf">spec</a>] [<a href="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-01.wsdl">WSDL</a>] [<a href="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-01.xsd">XSD</a>] </li>
+          <li>v1.0 (03/31/04):  [<a href="http://www.ibm.com/developerworks/library/ws-resource/ws-basefaults.pdf">spec</a>] [<a href="http://www.ibm.com/developerworks/library/ws-resource/WS-baseFaults.wsdl">WSDL</a>] [<a href="http://www.ibm.com/developerworks/library/ws-resource/WS-baseFaults.xsd">XSD</a>]</li>
+        </ul>              
+      </section>   
+      </section>
+    </section>
+    
+ 
+    <section>
+    <title>Web Services Notification</title>
+    <section>
+      <title>Overview</title>
+  
+      <p>       
+       Web Services Notification (WSN) is a suite of specifications published by the 
+       <a href="http://www.oasis-open.org/">OASIS</a>
+       <a href="http://www.oasis-open.org/committees/wsn/">WSN TC</a>.
+       It is comprised of the following specifications:       
+      </p>
+  
+      <section>
+        <title>WS-BaseNotification</title> 
+        <ul>
+          <li>v1.2 draft 3 (June 2004): 
+              [<a href="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-03.pdf">spec</a>]
+              [<a href="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.wsdl">WSDL</a>]
+              [<a href="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd">XSD</a>]</li>
+          <li>v1.0 (March 2004):  
+              [<a href="ftp://www6.software.ibm.com/software/developer/library/ws-notification/WS-BaseN.pdf">spec</a>] 
+              [<a href="http://www-106.ibm.com/developerworks/library/specification/ws-notification/WS-BaseN.wsdl">WSDL</a>] 
+              [<a href="http://www-106.ibm.com/developerworks/library/specification/ws-notification/WS-BaseN.xsd">XSD</a>]</li>          
+        </ul>
+      </section>
+  
+      <section>
+        <title>WS-Topics</title>
+        <ul>
+          <li>v1.2 draft 1 (June 2004): 
+              [<a href="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-Topics-1.2-draft-01.pdf">spec</a>] 
+              [<a href="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-Topics-1.2-draft-01.xsd">XSD</a>]</li>
+          <li>v1.0 (March 2004): 
+              [<a href="ftp://www6.software.ibm.com/software/developer/library/ws-notification/WS-Topics.pdf">spec</a>] 
+              [<a href="http://www-106.ibm.com/developerworks/library/specification/ws-notification/WS-Topics.xsd">XSD</a>]</li>
+        </ul>
+      </section>   
+      
+      <section>
+        <title>WS-BrokeredNotification</title>
+        <ul>
+          <li>v1.2 draft 1 (June 2004): 
+              [<a href="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BrokeredNotification-1.2-draft-01.pdf">spec</a>] 
+              [<a href="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BrokeredNotification-1.2-draft-01.wsdl">WSDL</a>] 
+              [<a href="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BrokeredNotification-1.2-draft-01.xsd">XSD</a>] </li>
+          <li>v1.0 (March 2004):  
+              [<a href="ftp://www6.software.ibm.com/software/developer/library/ws-notification/WS-BrokeredN.pdf">spec</a>] 
+              [<a href="http://www-106.ibm.com/developerworks/library/specification/ws-notification/WS-BrokeredN.wsdl">WSDL</a>] 
+              [<a href="http://www-106.ibm.com/developerworks/library/specification/ws-notification/WS-BrokeredN.xsd">XSD</a>]</li>
+        </ul>      
+      </section>   
+            
+            </section>
+    </section>
+        
+    
+		<section>
+		<title>Web Services Distributed Management</title>
+		<section>
+			<title>Overview</title>
+			<p>       
+       The OASIS <a href="http://www.oasis-open.org/committees/wsdm/">Web Services Distributed Management (WSDM) TC</a>
+       is chartered with defining Web services management. The TC produces two specifications:       
+      </p>
+			<section>
+				<title>Management <em>using</em> Web Services (MUWS)</title>
+				<ul>
+					<li>v1.0, Part 1 (OASIS Standard, 2005-04-09): 
+              [<a href="http://docs.oasis-open.org/wsdm/2004/12/wsdm-muws-part1-1.0.pdf">spec</a>] 
+              [<a href="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd">XSD</a>]</li>
+					<li>v1.0, Part 2 (OASIS Standard, 2005-04-09): 
+              [<a href="http://docs.oasis-open.org/wsdm/2004/12/wsdm-muws-part2-1.0.pdf">spec</a>] 
+              [<a href="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.wsdl">WSDL</a>] 
+              [<a href="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd">XSD</a>]</li>
+					<li>v0.5 (Committee Draft, 2004-04-02): 
+              [<a href="http://www.oasis-open.org/committees/download.php/6234/cd-wsdm-muws-0.5.pdf">spec</a>] 
+              [<a href="http://docs.oasis-open.org/wsdm/2004/04/muws-0.5/wsdl">WSDL</a>] 
+              [<a href="http://docs.oasis-open.org/wsdm/2004/04/muws-0.5/schema">XSD</a>]</li>
+				</ul>
+			</section>
+			<section>
+				<title>Management <em>of</em> Web Services (MOWS)</title>
+				<ul>
+					<li>v1.0 (OASIS Standard, 2005-04-09): 
+              [<a href="http://docs.oasis-open.org/wsdm/2004/12/wsdm-mows-1.0.pdf">spec</a>] 
+              [<a href="http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-mows.wsdl">WSDL</a>] 
+              [<a href="http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-mows.xsd">XSD</a>]</li>
+					<li>v0.5 (Committee Draft, 2004-04-02): 
+              [<a href="http://www.oasis-open.org/apps/org/workgroup/wsdm/download.php/6255/cd-wsdm-mows-0.5-20040402.pdf">spec</a>] 
+              [<a href="http://docs.oasis-open.org/wsdm/2004/04/mows-0.5/wsdl">WSDL</a>] 
+              [<a href="http://docs.oasis-open.org/wsdm/2004/04/mows-0.5/schema">XSD</a>]</li>
+				</ul>
+			</section>
+			<p/>
+			<p>
+       Of the two, MUWS is the core specification (i.e. MOWS is essentially a domain-specific application of MUWS:
+       management of web services, using Web services).
+      </p>
+      </section>
+		</section>
+		<section>
+			<title>Related Specifications</title>
+			<p>
+       MUWS leverages and builds upon several other Web services specifications:
+      </p>
+			<ul>
+			         <li><a href="http://devresource.hp.com/drc/specifications/wsrf/index.jsp#framespecs">HP's WSRF Site</a></li> 
+         <li><a href="http://www.globus.org/wsrf/">Globus' WSRF Site</a></li>
+         <li><a href="http://www-106.ibm.com/developerworks/webservices/library/ws-resource/">IBM's WSRF Site</a></li> 
+     <li><a href="http://devresource.hp.com/drc/specifications/wsn/index.jsp#framespecs">HP's WSN Site</a></li> 
+         <li><a href="http://www.globus.org/wsrf/">Globus' WSRF/WSN Site</a></li>
+         <li><a href="http://www-106.ibm.com/developerworks/webservices/library/ws-notification/">IBM's WSN Site</a></li> 
+				<li>W3C <a href="http://www.w3.org/2002/ws/addr/">WS-Addressing</a>
+				</li>
+				<li>OASIS <a href="http://ws.apache.org/wsrf/wsrf.html">WS-ResourceFramework (WSRF)</a> suite of specifications</li>
+				<li>OASIS <a href="http://ws.apache.org/pubscribe/wsn.html">WS-Notification (WSN)</a> suite of specifications</li>
+			</ul>
+		</section>
+	</body>
+</document>

Added: webservices/muse/trunk/src/site/content/xdocs/pubscribe/dev_guide/client.xml
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/pubscribe/dev_guide/client.xml?rev=412194&view=auto
==============================================================================
--- webservices/muse/trunk/src/site/content/xdocs/pubscribe/dev_guide/client.xml (added)
+++ webservices/muse/trunk/src/site/content/xdocs/pubscribe/dev_guide/client.xml Tue Jun  6 12:12:37 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>SOAP Client</title>
+	</header>
+	<body>
+		<section id="intro">
+			<title>Introduction</title>
+			<p>Pubscribe includes a lightweight SOAP client that can be used to test your services. The client is invoked using an Ant script, which is located in 
+			<code>INSTALL_DIR/template/soapclient.xml</code>. Request and response messages are viewed in the Ant output. This section explains how to use the client and 
+			how to build request SOAP messages for the client.</p>
+		</section>
+		<section>
+			<title>SOAP Files</title>
+			<p>The client reads a <code>.soap</code> file which contains the SOAP envelope to be sent. Examples of SOAP files are located in 
+			<code>INSTALL_DIR/examples/filesystem/requests/</code>. Each file is named appropriately based on the operation it contains. Use these files as models when 
+			creating your own .soap files. Make sure you modify the resource identifier in the WS-Addressing header to match the entry that is in the JNDI 
+			configuration file and the resource id for the instance you would like to invoke. The id is used by the invocation framework to lookup a particular resource instance.</p>
+		</section>
+		<section>
+			<title>Running the Client</title>
+			<p>To invoke the script:</p>
+			<ol>
+				<li>Make sure your WS Resource is deployed.</li>
+				<li>open a command prompt and change directories to <code>INSTALL_DIR/template/soapclient.xml</code>.</li>
+				<li>Run:
+      				<source>ant -f soapclient.xml sendRequest -Durl=http://localhost:8080/pubscribe/services/<em>your_service</em> -Dxml=./requests/Subscribe_updateMountPointProp.soap</source>
+					<p>Where <em>your_service</em> represents your WS Resource endpoint name, and the script name should be the name (including the path) of your .soap file. 
+      				</p>
+				</li>
+			</ol>
+			<note>You can add an entry to <code>build.properties</code> for the <code>url</code> property, which alleviates the need
+            		to specify it on the command line.</note>
+		</section>
+	</body>
+</document>

Added: webservices/muse/trunk/src/site/content/xdocs/pubscribe/dev_guide/consumer.xml
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/pubscribe/dev_guide/consumer.xml?rev=412194&view=auto
==============================================================================
--- webservices/muse/trunk/src/site/content/xdocs/pubscribe/dev_guide/consumer.xml (added)
+++ webservices/muse/trunk/src/site/content/xdocs/pubscribe/dev_guide/consumer.xml Tue Jun  6 12:12:37 2006
@@ -0,0 +1,109 @@
+<?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 Consumer</title>
+        </header>
+        <body>
+                <section id="intro">
+                        <title>Introduction</title>
+                        <p>This section provides instructions for creating a notification consumer resource. A service that acts as a notification consumer (implements the WSN 
+                        <code>NotificationConsumer</code> portType) can receive SOAP notification messages sent by a notification producer. The consumer 
+                        only receives messages for notifications to which it is subscribed.  
+                        </p>
+                        <p>The Wsdl2Java tool generates the same artifacts for a notification consumer as it does for a notification producer. In particular, the service, resource, and home class are 
+                        generated but need to be modified specifically for your consumer. The topics in this section describe how to modify these classes. An example notification consumer that works together  
+                        with the filesystem example is provided in the <code>INSTALL_DIR/examples/consumer</code> and discussed below. Initially, you should model your consumer based on the example to 
+                        ensure that you         write a valid consumer.
+                        </p>
+                        <note>A consumer WSDL must implement the <code>Notify</code> operation from the <code>NotificationConsumer</code> portType. If you use the 
+                        <code>INSTALL_DIR/template/_TEMPLATE_.wsdl</code> to create the WSDL, this operation is included and only needs to be uncommented. A WSDL is included in the consumer 
+                        example. To use this example, run the Wsdl2Java tool on the WSDL.
+                        </note>
+                </section>
+                <section>
+                        <title>Modify the Service Class</title>
+                        <p>An abstract method <code>Notify</code> is generated in the abstractService class an needs to be implemented in your service class. The implementation of the method is dependant 
+                        on whatever features you want to include for your consumer. In the consumer example, a property is used to retrieve the last notification message. In 
+                        this case, the <code>notify</code> method will allow a JSP page to retrieve and display the current notification message. Notice that the service class is also used to 
+                        setup and initialize the <code>LASTMESSAGE</code> resource property. Therefore, the the resource class will not need to perform these operations. The method is implemented as 
+                        follows:</p>
+                        <source>
+public void notify(org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.NotifyDocument notifyDocument)
+    {
+        //get the property set
+        org.apache.ws.resource.properties.ResourcePropertySet resourcePropertySet = ((org.apache.ws.resource.PropertiesResource)getResource()).getResourcePropertySet();
+
+        //get the property
+        org.apache.ws.resource.properties.ResourceProperty resourceProperty = resourcePropertySet.get(ConsumerPropertyQNames.LASTMESSAGE);
+        resourceProperty.clear();//clear old notifs
+        
+        //add the new entry
+        //build the LastMessage type for updating this resoruce property
+        LastMessageDocument lastMessageDocument = LastMessageDocument.Factory.newInstance();
+        org.apache.ws.resource.example.notifConsumer.LastMessageType lastMessageType = lastMessageDocument.addNewLastMessage();
+        lastMessageType.setOccurred(java.util.Calendar.getInstance());
+        org.apache.xmlbeans.XmlObject lastMessageNotif = lastMessageType.addNewNotification();
+        org.apache.ws.util.XmlBeanUtils.addChildElement(lastMessageNotif, notifyDocument);
+
+        //add the LastMessageDocument to the resource property
+        resourceProperty.add(lastMessageDocument);
+    }</source>
+                </section>
+                <section>
+                        <title>Modify the Resource Class</title>
+                        <p>The resource class is used to setup and initialize any resource properties. For the consumer example,  the resource class is not used to setup and initialize the 
+                        <code>LASTMESSAGE</code> resource property, but instead  the service class is used to perform these operations. If you choose to use the resource class, you should 
+                        update the <code>init()</code> method to add your properties to the <code>ResourcePropertySet</code>. The following sample code 
+                        is required for the consumer example. Below the consumer example code is an example of setting up and initializing resource properties in the resource class.
+                        </p>
+                        <source>
+public void init()
+    {
+        super.init();               
+    }
+                        </source>
+                        <p>Generic example of setting and initialing resource properties.</p>
+                        <source>
+public void init()
+    {
+        super.init();               
+
+        /**
+                 * The ResourcePropertySet which contains all the defined ResourceProperties
+                 */
+                org.apache.ws.resource.properties.ResourcePropertySet resourcePropertySet = getResourcePropertySet();
+                org.apache.ws.resource.properties.ResourceProperty resourceProperty = null;
+
+
+        try{    
+                // init the {http://ws.apache.org/resource/example/NotifConsumer}YourResourceProperty Property
+                resourceProperty = resourcePropertySet.get(ConsumerPortPropertyQNames.YourResourceProperty);
+                
+                }
+        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());
+        }       
+}                       </source>
+                </section>
+                <section>
+                        <title>Modify the Home Class</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. For the consumer example the <code>init()</code> method is modified to get an instance of the consumer resource. The resource is a singleton 
+                        and therfore only requires a single instance. For more information on creating a singleton, see the <a href="site:single">Creating a Singleton Service</a> in the Apache WSRF 
+                        documentation.
+                        </p>
+                        <source>
+ public void init() throws Exception
+    {
+        super.init();
+        add( createInstance( null ) );
+    }</source>
+                        <note>At runtime, a client for the consumer must use the EPR to access the consumer resource. The EPR is returned by the notification producer when you subscribe to a 
+                        notification topic.
+                        </note>
+                </section>
+        </body>
+</document>

Added: webservices/muse/trunk/src/site/content/xdocs/pubscribe/dev_guide/debug.xml
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/pubscribe/dev_guide/debug.xml?rev=412194&view=auto
==============================================================================
--- webservices/muse/trunk/src/site/content/xdocs/pubscribe/dev_guide/debug.xml (added)
+++ webservices/muse/trunk/src/site/content/xdocs/pubscribe/dev_guide/debug.xml Tue Jun  6 12:12:37 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>Logging</title>
+	</header>
+	<body>
+		<section>
+			<title>Introduction</title>
+			<p>Pubscribe uses the Apache Commons Logging Framework with Log4j as the underlying logging system. You can configure Log4j using the log4j.properties 
+			file. This includes changing log levels or where the output is emitted (e.g. stdout, log file, etc...). The properties file is located in the Pubscribe Web application in 
+			the WEB-INF/classes directory.
+			</p>
+		</section>
+		<section>
+			<title>Changing Log Levels</title>
+			<p>Log4j uses the following log levels: DEBUG, INFO, WARN, ERROR, and FATAL. By default, Apache WSRF is configured at the INFO level, which means messages logged
+			at INFO or higher level (i.e. INFO, WARN, ERROR, and FATAL) are included in the output. To see more detailed log messages, you must change the log level. 
+			The following example assumes Tomcat.
+			</p>
+			<p>To change the logging level:</p>
+			<ol>
+				<li>Using a text editor, open the log4j.properties file located in the WEB-INF/classes directory of the deployed Pubscribe Web application.</li>
+				<li>Change the log level associated with all classes below the <code>log4j.category.org.apache.ws</code> package. For example:<source>
+log4j.category.org.apache.ws=DEBUG</source>
+				</li>
+				<li>Save the log4j.properties file.</li>
+				<li>Restart Tomcat.
+				<note>Log messages are displayed in Tomcat's standard output. If you are not using Tomcat, you may need to configure your Web container to include the output 
+				in its standard output.</note>
+				</li>
+			</ol>
+		</section>
+	</body>
+</document>

Added: webservices/muse/trunk/src/site/content/xdocs/pubscribe/dev_guide/deploy.xml
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/src/site/content/xdocs/pubscribe/dev_guide/deploy.xml?rev=412194&view=auto
==============================================================================
--- webservices/muse/trunk/src/site/content/xdocs/pubscribe/dev_guide/deploy.xml (added)
+++ webservices/muse/trunk/src/site/content/xdocs/pubscribe/dev_guide/deploy.xml Tue Jun  6 12:12:37 2006
@@ -0,0 +1,140 @@
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+          "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+	<header>
+		<title>Deploy the service to the Pubscribe Web Application</title>
+	</header>
+	<body>
+		<section id="intro">
+			<title>Introduction</title>
+			<p>The quickest way to deploy your WS Resource is to use the generated build scripts. The scripts compile and delploy your WS 
+			Resource to the Pubscribe Web application, which is an Apache-Axis Web application. This section describes how to use the 
+			generated build scripts and also how the script works so 	you can build your own scripts.</p>
+		</section>
+		<section>
+			<title>Using the generated build scripts</title>
+			<p>The Wsdl2Java tool generates an Ant build script that is used to compile and deploy your WS Resource. The script is located in the 
+			output directory under the subdirectory for you WS Resource (e.g., <code>generated/</code>
+				<em>
+					<code>service_name</code>
+				</em>).</p>
+			<p>To compile and deploy using the Ant script</p>
+			<ol>
+				<li>In your output directory, edit build.properties and modify the <code>pubscribe.webapp.dir</code>. If you are using 
+				Tomcat and have <code>CATALINA_HOME</code> set, you do not need to modify this property.</li>
+				<li>From a command prompt, change directories to <code>generated/</code>
+					<em>
+						<code>service_name</code>
+					</em>
+				</li>
+				<li>Run:</li>
+			</ol>
+			<source><![CDATA[
+	ant compile deploy ]]></source>
+			<p>Start Tomcat and verify that the service is deployed by going to 
+			<a href="http://localhost:8080/pubscribe/services">http://localhost:8080/pubscribe/services</a>
+			</p>
+		</section>
+		<section id="steps">
+			<title>Manually Deploying your Service</title>
+			<p>In this section we will describe how to manually deploy your service.  We will describe each step in the process.</p>
+			<ol>
+				<li>
+					<strong>Copy your WSDL file.</strong>
+					<p>Your WSDL file needs to be copied to an appropriate location in the webapp.  We recommend you put it in the 
+					<code>pubscribe/WEB-INF/classes/wsdl</code> directory. This allows Axis to reference it from the classpath and avoids the need to 
+					hard-code a location on your file system. This location is used when registering the service in the 
+					<code>server-config.wsdd</code> file.
+					</p>
+				</li>
+				<li>
+					<strong>Copy your classes.</strong>
+					<p>You will need to copy any .class files, generated by Wsdl2Java or hand written, to the <code>pubscribe/WEB-INF/classes/</code> directory so that your service 
+					can be created by Axis and Pubscribe.</p>
+				</li>
+				<li>
+					<strong>Update the jndi-config.xml file.</strong>
+					<p>The jndi-config.xml contains information about your service, resource, home and resource key.  This information is necessary for 
+					Pubscribe to create your home and handle requests for your service.  It will setup the in-memory JNDI context for your classes. 
+					Here is the entry that was used for the FileSystem example:</p>
+					<source><![CDATA[   <service name="filesystem">
+      <resource name="home" type="example.filesystem.FileSystemHome">
+         <resourceParams>
+            <parameter>
+               <name>baseWebappUrl</name>
+               <value>http://$IP_ADDRESS$:8080/pubscribe</value>
+            </parameter>
+            <parameter>
+               <name>serviceClassName</name>
+               <value>example.filesystem.FileSystemService</value>
+            </parameter>
+            <parameter>
+               <name>resourceClassName</name>
+               <value>example.filesystem.FileSystemResource</value>
+            </parameter>
+            <parameter>
+               <name>wsdlTargetNamespace</name>
+               <value>http://ws.apache.org/resource/example/filesystem</value>
+            </parameter>
+            <parameter>
+               <name>resourceIdentifierReferenceParameterName</name>
+               <value>{http://ws.apache.org/resource/example/filesystem}ResourceIdentifier</value>
+            </parameter>
+         </resourceParams>
+      </resource>
+   </service>]]></source>
+					<p>The<code> name</code> attribute is a unique name in the config file to denote your service in JNDI.  The resource "name" attribute is used for locating your home 
+					instance, and is named <code>home</code>.  Notice <code>serviceClassName</code> points to the clasname for the service class. The same is said for the 
+					<code>resourceClassName</code>.  The <code>wsdlTargetNamespace </code> is the target namespace from your WSDL.
+					</p>
+					<p>The <code>baseWebappUrl</code> parameter is used to define the URL of your Web application. You can include a static host, or as an 
+					alternative, you can use the following markers which are replaced at runtime:
+					</p>
+					<ul>
+						<li>
+							<code>$IP_ADDRESS$</code> - An attempt is made to determine the IP address at runtime. (Do not use on multi-homed systems).</li>
+						<li>
+							<code>$HOST_NAME$</code> - An attempt is made to determine the host name at runtime.</li>
+					</ul>
+					<p>The <code>resourceIdentifierReferenceParameterName</code> parameter represents the name of the WS-Addressing-header that is used to 
+					extract a unique resource identifier to lookup a specific WS-Resource instance. This value should be a QName that includes the local 
+					reference parameter name in the format <em><code>{namespaceURI}localPart</code></em>, where namesapaceURI and localPart are the namespace and URI and local 
+					part of the qualified name of the reference paramater that should contain the resource identifier. If you omit this entry, it is assumed that the service is a 
+					<strong><code>SINGLETON</code></strong> service and no resource id is expected in the 
+					WS-Addressing headers.
+          				</p>
+				</li>
+				<li>
+					<strong>Update the server-config.wsdd file</strong>
+					<p>The <code>server-config.wsdd</code> file is the configuration file for the Axis SOAP engine,
+             				which is bundled with Pubscribe. This file is located in the <code>pubscribe/WEB-INF/</code> directory. 
+             				See the <a href="ext:ws.apache.org/axis">Axis</a> documentation for complete instructions about <code>server-config.wsdd</code>
+					</p>
+					<p>The file contains a deployment entry for each Web service. For example, the FileSystem service example is:
+             				</p>
+					<source><![CDATA[    <service name="filesystem" provider="java:WSRF" style="document" use="literal">
+      <wsdlFile>/wsdl/FileSystem.wsdl</wsdlFile>      
+      <requestFlow>
+         <handler type="java:org.apache.axis.handlers.JAXRPCHandler">
+            <parameter name="className" value="org.apache.axis.message.addressing.handler.AxisServerSideAddressingHandler"/>
+            <parameter name="referencePropertyNames" value="*"/>
+         </handler>
+      </requestFlow>      
+   </service>]]></source>
+					<p>The service <code>name</code> attribute is the endpoint name and should be the same as the port's <code>name</code> attribute 
+					from your WSDL file. This will ensure people consuming your WSDL will be able to invoke your service.
+             				</p>
+					<p>Notice the entry for <code>wsdlFile</code> which points to the <code>/wsdl/FileSystem.wsdl</code>.
+             				This translates to the wsdl directory under the <code>WEB-INF/classes</code> directory.
+             				</p>
+					<p>The last part is the <code>requestFlow</code>. This xml fragment is necessary to ensure the
+             				requests are routed through the WS-Addressing handler. This is static and should
+             				always be present.  We did not define it globally in case there were other services
+             				defined which will not use WS-Addressing.
+             				</p>
+				</li>
+			</ol>
+		</section>
+	</body>
+</document>



---------------------------------------------------------------------
To unsubscribe, e-mail: muse-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-commits-help@ws.apache.org