I haven't been keeping the WSRF WSDLs in SVN - just the schemas - because 
we don't normally need to include them in the WSDLs generated for user 
projects. But you're right - they are used by the subscription resource's 
WSDL. I've added them to muse-wsrf-api/specs in SVN.

Dan



"Hawkins, Joel" <[EMAIL PROTECTED]> wrote on 07/27/2006 01:11:21 
PM:

> 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]
> 


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

Reply via email to