I'd just as soon change the symbolic names, too. Makes it easier to
navigate around an eclipse project when you can leave some breadcrumbs
in the manifest. I can make that change, though. I'll need to change the
manifests anyway to deal with the api/impl split, so no worries.


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

I'd like to keep the module/jar names the same for consistencies sake, 
with the symbolic names being as they are now. I have this change in the

muse-osgi-* modules, but not the ones already in /trunk.

Dan



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

> Thanks. On to my next stumbling block ;-)
> 
> On a different topic, did we agree on using the module names as the
> jar/bundle names for OSGi? I'm in the process of splitting out the
APIs,
> so I figured I'd go ahead an make all the necessary changes to the
> manifest, etc. at once.
> 
> Joel
> 
> -----Original Message-----
> From: Daniel Jemiolo [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, July 27, 2006 1:38 PM
> To: [email protected]
> Subject: RE: Possible Missing Operations on SubscriptionManager?
> 
> 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]
> 
> 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