I think an example should be enough for this.
Thanks,
Andrew
Andrew Eberbach
Autonomic Computing
(919) 254-2645
T/L: 444-2645
[EMAIL PROTECTED]
| "Hawkins, Joel"
<[EMAIL PROTECTED]>
07/25/2006 10:59 AM
|
|
Dan,
It might. I'll confess to blindly following an example which bound
SubscriptionManager to the WS-BaseNotification-1_3.wsdl (your
VirtualMachine example, IIRC). Andrew was looking for an example, so I
was trying to accommodate. Andrew, got an opinion here?
Should we put up some signpost to keep others from following my wayward
path?
Cheers,
Joel
-----Original Message-----
From: Daniel Jemiolo [mailto:[EMAIL PROTECTED]
Sent: Tuesday, July 25, 2006 10:42 AM
To: [email protected]
Subject: Re: Possible Missing Operations on SubscriptionManager?
Hi Joel,
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.
Will using the WSRF-based lifetime methods work for your scenario?
Dan
"Hawkins, Joel" <[EMAIL PROTECTED]> wrote on 07/25/2006
10:20:19
AM:
> Help guys, I can?t find my Unsubscribe with both hands?
>
> I?m trying to get Advertising and Notification working with my OSGi
Bundle
> manager sample, and when I pull in the WS-BaseNotification-1_3 wsdl I
get the
> following exception:
>
> org.apache.muse.ws.addressing.soap.SoapFault: Not all operations were
> implemented: [http://docs.oasis-open.
> org/wsn/bw-2/Unsubscribe/UnsubscribeRequest, http://docs.oasis-open.
> org/wsn/bw-2/Renew/RenewRequest]
> at org.apache.muse.core.descriptor.SimpleResourceDescriptor.
> createCapabilityDefinitions(SimpleResourceDescriptor.java:263)
> at
org.apache.muse.core.descriptor.SimpleResourceDescriptor.load(
> SimpleResourceDescriptor.java:88)
> at org.apache.muse.core.platform.osgi.descriptor.
>
OSGiDeploymentDescriptor.createResourceDefinitions(OSGiDeploymentDescrip
tor.java:157)
> at
org.apache.muse.core.platform.osgi.descriptor.OSGiDeploymentDescriptor.l
oad(
> OSGiDeploymentDescriptor.java:141)
> at
org.apache.muse.core.platform.osgi.OSGiResourceManager.addResourceDefini
tions(
> OSGiResourceManager.java:410)
>
> When I grep the sources, I can?t find any implementation for
Unsubscribe
or
> Renew (I?d expect to find them on SimpleSubscriptionManager). Any
ideas?
>
> Here?s the operation definitions from the WSDL.
>
> <wsdl:portType name="SubscriptionManager">
> <wsdl:operation name="Renew">
> <wsdl:input name="RenewRequest"
wsa:Action=""> > org/wsn/bw-2/Renew/RenewRequest"
> message="wsntw:RenewRequest" />
> <wsdl:output name="RenewResponse"
wsa:Action=""> > org/wsn/bw-2/Renew/RenewResponse"
> message="wsntw:RenewResponse" />
> <wsdl:fault name="ResourceUnknownFault"
> message="wsrf-rw:ResourceUnknownFault" />
> <wsdl:fault name="UnacceptableTerminationTimeFault"
> message=
> "wsntw:UnacceptableTerminationTimeFault" />
> </wsdl:operation>
> <wsdl:operation name="Unsubscribe">
> <wsdl:input name="UnsubscribeRequest"
wsa:Action=""> > open.org/wsn/bw-2/Unsubscribe/UnsubscribeRequest"
> message="wsntw:UnsubscribeRequest" />
> <wsdl:output name="UnsubscribeResponse"
wsa:Action=""> > oasis-open.org/wsn/bw-2/Unsubscribe/UnsubscribeResponse"
> message="wsntw:UnsubscribeResponse" />
> <wsdl:fault name="ResourceUnknownFault"
> message="wsrf-rw:ResourceUnknownFault" />
> <wsdl:fault name="UnableToDestroySubscriptionFault"
> message=
> "wsntw:UnableToDestroySubscriptionFault" />
> </wsdl:operation>
> </wsdl:portType>
>
> and, of course, my muse.xml snippet:
>
> <resource-type>
> <context-path>/subscription-manager</context-path>
> <wsdl>
> <wsdl-file>OSGI-INF/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.CounterResourceIdFac
tory
> </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>
>
>
> Thanks,
> Joel
> =00The 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]
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]
