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]

Reply via email to