WS-ResourceLifetime-1_2.wsdl? Any idea where I find this? It's included
by the BaseNotification. I expected it to be in muse-wsrf-api, but I
don't see it.

Joel


-----Original Message-----
From: Daniel Jemiolo [mailto:[EMAIL PROTECTED] 
Sent: Thursday, July 27, 2006 10:58 AM
To: [email protected]
Subject: RE: Possible Missing Operations on SubscriptionManager?

yes, I'm using the slightly-modified WS-N WSDL in the muse-wsn-api/specs

directory.

Dan


"Hawkins, Joel" <[EMAIL PROTECTED]> wrote on 07/26/2006
04:41:02 
PM:

> Thanks, yeah - this is about where I've gotten to (after bumping into
> every sharp corner in the room!). I figured out that the subscription
> manager is on the WSResource representing the subscription (which
makes
> your lifetime equivalency argument a lot clearer), and that you can't
> make one of these at startup time (only the notification producer will
> know how to initialize it properly). I'm dubious about your wsdl port
> type, but I'll give it a go - when I tried that I got the "not all
> operations were implemented" error. I'm assuming your wsdl matches
> what's in wsn-api's spec folder?
> 
> I've just hit a problem with Axiom trying to serialize
> getResourcePropertyDocument (still investigating), but I think I'll
> finally muddle through all this.
> 
> Thanks for the help,
> Joel
> 
> -----Original Message-----
> From: Daniel Jemiolo [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, July 26, 2006 4:09 PM
> To: [email protected]
> Subject: RE: Possible Missing Operations on SubscriptionManager?
> 
> sorry about the XML getting chopped up by the character limit -
> hopefully 
> re-formatting in your editor can put it back in order.
> 
> Dan
> 
> 
> Daniel Jemiolo/Durham/[EMAIL PROTECTED] wrote on 07/26/2006 04:06:05 PM:
> 
> > You need two things to deploy a WSN producer - 
> > 
> > 1. a resource that has the NotificationProducer capability. this is
> the 
> > resource that is actually creating events and publishing them.
> > 
> > 2. a section resource type that represents subscriptions. this type
> can 
> be 
> > very simple - just has to implement WSRP Get, WSN
SubscriptionManager,
> 
> > and, optionally, WSRL capabilities for lifecycle operations. The 
> muse.xml 
> > fragment for subscription resources should look like this (even has
> WSRL 
> 
> > :)  ):
> > 
> > 
> >         <resource-type>
> >                 <context-path>subscription-manager</context-path>
> >                 <wsdl>
> >
<wsdl-file>wsdl/WS-BaseNotification-1_3.wsdl</
> > wsdl-file>
> >                         <wsdl-port-type>wsntw:SubscriptionManager</
> > wsdl-port-type>
> >                 </wsdl>
> >                 <java-id-factory-class>
> > org.apache.muse.core.routing.CounterResourceIdFactory</
> > java-id-factory-class>
> >                 <java-resource-class>
> >
>
org.apache.muse.ws.resource.impl.SimpleWsResource</java-resource-class>
> >                 <capability>
> >                         <capability-uri>
> > http://docs.oasis-open.org/wsrf/rlw-2/ImmediateResourceTermination</
> > capability-uri>
> >                         <java-capability-class>
> >
org.apache.muse.ws.resource.lifetime.impl.SimpleImmediateTermination</
> > java-capability-class>
> >                 </capability>
> >                 <capability>
> >                         <capability-uri>
> > http://docs.oasis-open.org/wsrf/rlw-2/ScheduledResourceTermination</
> > capability-uri>
> >                         <java-capability-class>
> >
org.apache.muse.ws.resource.lifetime.impl.SimpleScheduledTermination</
> > java-capability-class>
> >                 </capability>
> >                 <capability>
> >                         <capability-uri>
> > http://docs.oasis-open.org/wsrf/rpw-2/Get</capability-uri>
> >                         <java-capability-class>
> >
org.apache.muse.ws.resource.properties.get.impl.SimpleGetCapability</
> > java-capability-class>
> >                 </capability>
> >                 <capability>
> >                         <capability-uri>
> >
>
http://docs.oasis-open.org/wsn/bw-2/SubscriptionManager</capability-uri>
> >                         <java-capability-class>
> > org.apache.muse.ws.notification.impl.SimpleSubscriptionManager</
> > java-capability-class>
> >                         <init-param>
> >                                 <param-name>trace-notifications</
> > param-name>
> >                                 <param-value>true</param-value>
> >                         </init-param>
> >                 </capability>
> >         </resource-type>
> > 
> > 
> > 
> > At startup, the resource that has NotificationProducer will look for

> > another resource type that is a subscription type. This will ensure
> that 
> 
> > it can implement the WSN pub/sub system as intended. It will create 
> > instances of the subscription type for every call you make to 
> subscribe(). 
> > If you use the NotificationProducerClient to call subscribe(),
you'll 
> get 
> > back an EPR that can be used to talk to the subscription ws-resource
> (to 
> 
> > call destroy(), for example).
> > 
> > 
> > Don't create any instances of subscriptions on your own. The 
> > NotificationProducer impl will do that. Just handle the creation of
> your 
> 
> > own resources, and subscriptions will handle themselves. From within

> your 
> > producer resource code, you can publish messages using the code
below.
> 
> > Remember that WSRP change notifications and WSRL termination 
> notifications 
> > are handled automatically.
> > 
> > 
> > QName topic = ...   // can be null
> > 
> > Element payload = ...
> > // also works: XmlSerializable payload = ... 
> > 
> > NotificationProducer wsn = 
> > getResource().getCapability(WsnConstants.PRODUCER_URI);
> > wsn.publish(topic, payload);
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > "Hawkins, Joel" <[EMAIL PROTECTED]> wrote on 07/26/2006 
> 01:31:59 
> > PM:
> > 
> > > That's what I've done (haven't been sitting around waiting ;-) )
> > > 
> > > So now my resource has the SubscriptionManager capability (which
> seems
> > > wrong, but OK). Now I'm getting some issues with initialization of
> the
> > > SimpleSubscriptionManager - [ID = 'NoProducerEPR'] The
Subscription 
> has
> > > no ProducerReference - you must set the producer with
> > > setProducerReference() before initialization.
> > > 
> > > I'm creating the resource during startup (using the muse.xml
> > > startupcount attribute).
> > > 
> > > So, to review the bidding -
> > > 
> > > I started with a simple resource with the following capabilities:
> > > 
> > > GetMetaData,
> > > MetaDataCapability
> > > ImmediateResourceTermination
> > > ScheduledResourceTermination
> > > Property Get/Query/Set
> > > 
> > > All was well. I then added:
> > > NotificationProducer
> > > Advertisement
> > > 
> > > Which required feeding a number of additional properties to the 
> schema.
> > > SimpleNotificationProducer complained about not having a
> > > SubscriptionManager.
> > > 
> > > Feeding the resource a subscriptionmanager capability is where we
> came
> > > in.
> > > 
> > > 
> > > Now, I assume that what I really need is to create another
resource 
> type
> > > with the subscriptionmanager capability, make it a startup
instance
> of
> > > 1, and put it before my problem child resource in muse.xml, right?

> Now,
> > > what wsdl should I use? Yesterday I pointed at the WSN wsdl and
used
> 
> the
> > > subscriptionmanager port, and that's what started all of this
> (missing
> > > methods and stuff). Where am I going off into the weeds?
> > > 
> > > Thanks and sorry for the distraction,
> > > Joel
> > > 
> > > 
> > > 
> > > -----Original Message-----
> > > From: Daniel Jemiolo [mailto:[EMAIL PROTECTED] 
> > > Sent: Wednesday, July 26, 2006 12:41 PM
> > > To: [email protected]
> > > Subject: RE: Possible Missing Operations on SubscriptionManager?
> > > 
> > > You want to keep SubscriptionManager, but add
> > > ImmediateResourceTermination 
> > > and/or ScheduledResourceTermination:
> > > 
> > > <capability>
> > >   <capability-uri>
> > >
http://docs.oasis-open.org/wsrf/rlw-2/ImmediateResourceTermination</
> > > capability-uri>
> > >   <java-capability-class>
> > >
> org.apache.muse.ws.resource.lifetime.impl.SimpleImmediateTermination</
> > > java-capability-class>
> > > </capability>
> > > <capability>
> > >   <capability-uri>
> > >
http://docs.oasis-open.org/wsrf/rlw-2/ScheduledResourceTermination</
> > > capability-uri>
> > >   <java-capability-class>
> > >
> org.apache.muse.ws.resource.lifetime.impl.SimpleScheduledTermination</
> > > java-capability-class>
> > > </capability>
> > > 
> > > 
> > > The IBM stuff is part of MUSE-33 cleanup...
> > > 
> > > 
> > > 
> > > "Hawkins, Joel" <[EMAIL PROTECTED]> wrote on 07/26/2006
> > > 12:33:30 
> > > PM:
> > > 
> > > > Dan wrote
> > > > 
> > > > > I didn't implement Unsubscribe and Renew because a) time is
> short,
> > > and
> > > > > b)
> > > > > they are redundant. I believe that the reason these two
> operations
> > > > exist
> > > > > 
> > > > > is to allow people to implement subscription resources without
a
> > > > > dependency on WSRF. Subscriptions that are WSRF-based use
> Destroy
> > > for 
> > > > > Unsubscribe and SetTerminationTime for Renew - the concepts
are
> > > > exactly 
> > > > > the same, but in each case, the former is based on WSRL. With 
> Muse,
> > > > all 
> > > > > resources implement the implied resource pattern, so most of
the
> > > WS-* 
> > > > > foundation that one would be looking to avoid when ditching
WSRF
> 
> is 
> > > > > already present; that being the case, I would advise someone
to 
> just
> > > > add
> > > > > 
> > > > > in the WSRL capabilities if either of these operations are 
> desired. 
> > > > > You're already pulling in WSRF for the NotificationProducer
> impl, 
> so
> > > 
> > > > > you might as
> > > > > well take advantage of that and use WSRL in the subscription
> > > resource 
> > > > > rather than adding duplicate code to the app.
> > > > >
> > > > 
> > > > Well, when I remove SubscriptionManager from the mix, I get the
> > > > following out of SimpleNotificationProducer's initialize method:
> > > > 
> > > > [ID = 'NoSubscriptionManager'] There is no resource that
> implements
> > > the
> > > > WS-N SubscriptionManager portType defined in touchpoint.xml. In 
> order
> > > to
> > > > use and manage subscriptions, a touchpoint must expose a
resource
> of
> > > > type com.ibm.ws.notification.Subscription (or a sub-type); this
> > > resource
> > > > will represent all new subscriptions created by the resource.
> > > > 
> > > > I'm at a bit of a loss - any ideas? The com.ibm bit makes me a
bit
> > > > squeamish... am I still skiing out of bounds here?
> > > > 
> > > > Thanks,
> > > > Joel
> > > > 
> > > > 
> > > > The contents of this e-mail are intended for the named addressee

> only.
> > > 
> > > It 
> > > > contains information that may be confidential. Unless you are
the
> > > named 
> > > > addressee or an authorized designee, you may not copy or use it,
> or 
> > > disclose 
> > > > it to anyone else. If you received it in error please notify us 
> > > immediately 
> > > > and then destroy it. 
> > > > 
> > > > 
> ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > 
> > > 
> > > 
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > 
> > > The contents of this e-mail are intended for the named addressee
> only. 
> 
> > It 
> > > contains information that may be confidential. Unless you are the 
> named 
> > > addressee or an authorized designee, you may not copy or use it,
or 
> > disclose 
> > > it to anyone else. If you received it in error please notify us 
> > immediately 
> > > and then destroy it. 
> > > 
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > 
> > 
> > 
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> The contents of this e-mail are intended for the named addressee only.

It 
> contains information that may be confidential. Unless you are the
named 
> addressee or an authorized designee, you may not copy or use it, or 
disclose 
> it to anyone else. If you received it in error please notify us 
immediately 
> and then destroy it. 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

The contents of this e-mail are intended for the named addressee only. It 
contains information that may be confidential. Unless you are the named 
addressee or an authorized designee, you may not copy or use it, or disclose it 
to anyone else. If you received it in error please notify us immediately and 
then destroy it. 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to