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(OSGiDeploymentDescriptor.java:157) > at org.apache.muse.core.platform.osgi.descriptor.OSGiDeploymentDescriptor.load( > OSGiDeploymentDescriptor.java:141) > at org.apache.muse.core.platform.osgi.OSGiResourceManager.addResourceDefinitions( > 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="http://docs.oasis-open. > org/wsn/bw-2/Renew/RenewRequest" > message="wsntw:RenewRequest" /> > <wsdl:output name="RenewResponse" wsa:Action="http://docs.oasis-open. > 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="http://docs.oasis- > open.org/wsn/bw-2/Unsubscribe/UnsubscribeRequest" > message="wsntw:UnsubscribeRequest" /> > <wsdl:output name="UnsubscribeResponse" wsa:Action="http://docs. > 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.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> > > > 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]
