You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pubscribe-commits@ws.apache.org by jr...@apache.org on 2005/07/20 00:58:54 UTC
svn commit: r219797 - in
/webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide: client.xml
consumer.xml deploy.xml home.xml index.xml subscription.xml wsdl.xml
Author: jruzzi
Date: Tue Jul 19 15:58:53 2005
New Revision: 219797
URL: http://svn.apache.org/viewcvs?rev=219797&view=rev
Log:
updated dev guide
Added:
webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/client.xml
webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/consumer.xml
webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/deploy.xml
webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/home.xml
Modified:
webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/index.xml
webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/subscription.xml
webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/wsdl.xml
Added: webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/client.xml
URL: http://svn.apache.org/viewcvs/webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/client.xml?rev=219797&view=auto
==============================================================================
--- webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/client.xml (added)
+++ webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/client.xml Tue Jul 19 15:58:53 2005
@@ -0,0 +1,39 @@
+<?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 is 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 WS-Addressing header for the resource id to match the entry that is in the JNDI
+ configuration file and the resource id number for the instance you would like to invoke. This has to do with the home's implementation of <code>getInstance()</code>
+ and allows you to decide which instances are valid for sending requests. </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 <code>url</code> which will alleviate the need
+ to specify it on the command line.</note>
+ </section>
+ </body>
+</document>
Added: webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/consumer.xml
URL: http://svn.apache.org/viewcvs/webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/consumer.xml?rev=219797&view=auto
==============================================================================
--- webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/consumer.xml (added)
+++ webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/consumer.xml Tue Jul 19 15:58:53 2005
@@ -0,0 +1,107 @@
+<?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 for 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>Before completing the instructions below, you must create a WSDL that implements the Notify operation from the <code>NotificationConsumer</code> portType and run the
+ Wsdl2Java tool on the WSDL. If you use the INSTALL_DIR/template/_TEMPLATE_.wsdl to create the WSDL, this operation is included and only needs to be uncommented. A completed
+ WSDL is provided for the consumer example.</note>
+ </section>
+ <section>
+ <title>Modify the Service Class</title>
+ <p>A method for the <code>Notify</code> operation is added to the 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 allows a
+ .jsp to retrieve and display the current notification message. 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(ConsumerPortPropertyQNames.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, a single resource property is defined and called
+ <code>LastMessage</code>. The resource class <code>init()</code> method is modified to add this property to the <code>ResourcePropertySet</code>:
+ </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}LastMessage Resource Property
+ resourceProperty = resourcePropertySet.get(ConsumerPortPropertyQNames.LASTMESSAGE);
+ }
+ 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>getInstance()</code> method is modified to get an instance of the consumer resource.</p>
+ <source>
+ private static Resource m_resource = null;
+
+ public Resource getInstance( ResourceContext resourceContext )
+ throws ResourceException,
+ ResourceContextException,
+ ResourceUnknownException
+ {
+ if(m_resource == null)
+ {
+ //singleton
+ ConsumerPortResource myresource = new ConsumerPortResource();
+ myresource.init();
+ //the next line will create an EPR
+ EndpointReference epr = getEndpointReference(resourceContext.getBaseURL( ) + "/" + getServiceName().getLocalPart() , null, SPEC_NAMESPACE_SET.getAddressingNamespace());
+ myresource.setEndpointReference(epr); //make sure to set the EPR on your new instance
+ m_resource = myresource;
+ }
+
+ return m_resource;
+ }</source>
+ <note>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/pubscribe/trunk/src/site/content/xdocs/dev_guide/deploy.xml
URL: http://svn.apache.org/viewcvs/webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/deploy.xml?rev=219797&view=auto
==============================================================================
--- webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/deploy.xml (added)
+++ webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/deploy.xml Tue Jul 19 15:58:53 2005
@@ -0,0 +1,126 @@
+<?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/servlet/AxisServlet">http://localhost:8080/pubscribe/servlet/AxisServlet</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>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>resourceIdentifierReferenceParameterName</code> 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>{target namespace}qualified name of a reference parameter</code></em>. 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>
Added: webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/home.xml
URL: http://svn.apache.org/viewcvs/webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/home.xml?rev=219797&view=auto
==============================================================================
--- webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/home.xml (added)
+++ webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/home.xml Tue Jul 19 15:58:53 2005
@@ -0,0 +1,82 @@
+<?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>
+ <p>If you use the Wsdl2Java tool, the resource 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 class. 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 class.</p>
+ </section>
+ <section id="class-declaration">
+ <title>Class Declaration</title>
+ <p>When declaring your home you <strong>should</strong> extend <code>AbstractResourceHome</code>. Extending <code>AbstractResourceHome</code>
+ will provide services for caching instances and looking them up. It will also ensure
+ 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>
+ </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 Resource getInstance( ResourceContext resourceContext )</source>
+ <p>The <code>getInstance(...)</code> operation provides the ability for you to intercept the request for
+ retrieving an instance. In the FileSystem example, we use the operation to determine
+ if the requested resource instance is a valid filesystems (i.e. one that is being managed
+ via WSRF); if it is not, we throw an exception.</p>
+ <source>public Resource getInstance( ResourceContext resourceContext )
+ throws ResourceException,
+ ResourceContextException,
+ ResourceUnknownException
+ {
+ ResourceKey key = resourceContext.getResourceKey();
+ Resource resource = null;
+ try
+ {
+ resource = find( key );
+ }
+ catch ( ResourceException re )
+ {
+ Object id = key.getValue();
+ /**
+ * Determine if the passed-in key is, in fact, something we expect.
+ */
+ if ( id.equals( "/dev/vg00/lvol1" ) || id.equals( "/dev/vg00/lvol2" ) )
+ {
+ try
+ {
+ resource = createInstance( key);
+ }
+ catch ( Exception e )
+ {
+ throw new ResourceException( e );
+ }
+ add( key, resource );
+ }
+ else
+ {
+ throw new ResourceUnknownException( id,
+ resourceContext.getServiceName() );
+ }
+ }
+ return resource;
+ }</source>
+ <p>Notice the method makes calls to <code>find(...) </code>and <code>createInstance(...)</code>. These operations are
+ provided by the <code>AbstractResourceHome</code> superclass. They provide functions like caching and
+ instantiating instances.</p>
+ <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>
+ </body>
+</document>
Modified: webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/index.xml
URL: http://svn.apache.org/viewcvs/webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/index.xml?rev=219797&r1=219796&r2=219797&view=diff
==============================================================================
--- webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/index.xml (original)
+++ webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/index.xml Tue Jul 19 15:58:53 2005
@@ -33,7 +33,8 @@
<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>
+ 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>
Modified: webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/subscription.xml
URL: http://svn.apache.org/viewcvs/webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/subscription.xml?rev=219797&r1=219796&r2=219797&view=diff
==============================================================================
--- webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/subscription.xml (original)
+++ webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/subscription.xml Tue Jul 19 15:58:53 2005
@@ -3,13 +3,90 @@
"http://forrest.apache.org/dtd/document-v20.dtd">
<document>
<header>
- <title>Composing a WSRF WSDL</title>
+ <title>Using the Subscription Manager</title>
</header>
<body>
<section>
- <title>Using the WSRF WSDL Template</title>
- <p>TODO.
- </p>
+ <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 EPR and the Resource Identifier for the subscription. These values
+ are 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>
</body>
</document>
Modified: webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/wsdl.xml
URL: http://svn.apache.org/viewcvs/webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/wsdl.xml?rev=219797&r1=219796&r2=219797&view=diff
==============================================================================
--- webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/wsdl.xml (original)
+++ webservices/pubscribe/trunk/src/site/content/xdocs/dev_guide/wsdl.xml Tue Jul 19 15:58:53 2005
@@ -38,9 +38,10 @@
<li>NotificationProducer - This portType allows a resource to advertise notification topics and allows clients to subscribe to these topics. To implement this portType,
uncomment the three NotificationProducer property references (<code>wsnt:Topic</code>, <code>wsnt:FixedTopicSet</code>, and
<code>wsnt:TopicExpressionDialects</code>) within the types/schema section of the WSDL. Then, uncomment the two NotificationProducer
- operations (<code>Subscribe</code> and <code>GetCurrentMessage</code>) within both the portType and binding sections.</li>
+ 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.</li>
+ <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>