[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [xmlblaster] Unsubscribing with pyBlaster
Doug.Palmer at csiro.au schrieb:
> I've been testing layer on top of the pyBlaster python
> interface to
> xmlBlaster. A simple OID subscription is OK, but when I
> unsubscribe, I get
> the following response.
>
> 05-07-2003 ERROR Test1 unable to subscribe to <key
> oid='TestTopic'
> queryType='EXACT'/>.
> Traceback (most recent call last):
> File
>
"d:\pal155\src\boeing\python\wedgetail\infra\xmlblaster\XmlBlasterInterface.
> py", line 121, in unsubscribe
> XmlBlasterCallbackClient.unsubscribe(self, key, qos)
> File
> "c:\Python22\lib\site-packages\pyBlaster\pyBlaster.py",
> line 241, in
> unsubscribe
> self.proxy.xmlBlaster.unsubscribe(self.sessionId,
> xmlKey, qos)
> File
> "C:\Python22\Lib\site-packages\pyBlaster\xmlrpclib.py",
> line 986, in
> __call__
> return self.__send(self.__name, args)
> File
> "C:\Python22\Lib\site-packages\pyBlaster\xmlrpclib.py",
> line 1239, in
> __request
> verbose=self.__verbose
> File
> "C:\Python22\Lib\site-packages\pyBlaster\xmlrpclib.py",
> line 1037, in
> request
> return self._parse_response(h.getfile(), sock)
> File
> "C:\Python22\Lib\site-packages\pyBlaster\xmlrpclib.py",
> line 1138, in
> _parse_response
> return u.close()
> File
> "C:\Python22\Lib\site-packages\pyBlaster\xmlrpclib.py",
> line 703, in
> close
> raise apply(Fault, (), self._stack[0])
> Fault: <Fault 0: 'java.lang.NoSuchMethodException:
>
org.xmlBlaster.protocol.xmlrpc.XmlBlasterImpl.unsubscribe(java.lang.String,
> java.lang.String, java.lang.String)'>
In pyBlaster.py there is a typo at two places,
it must be changed from
unsubscribe -> unSubscribe
hope it helps
Marcel
>
> I'm using xmlBlaster 0.8.46.
>
> Any suggestions as to what's wrong here? The
> subscribe/unsubscribe code is:
>
> def subscribe(self, sub):
> """Subscribe to this interface.
>
> Start listening to the subscription key with
> ourself as a
> recevier."""
> if not self.isOpen():
> raise InterfaceException, "Interface %s is
> not open." %
> self.getId()
> if self.subscriber != None:
> raise SubscriptionException, "Interface %s is
> already subscribed
> to.", self.getId()
> self.subscriber = sub
> try:
> key = self.getSubscribeKey()
> qos = self.getSubscribeQoS()
> XmlBlasterCallbackClient.subscribe(self, key,
> qos)
> except Exception:
> self.logger.error("%s unable to subscribe to
> %s." %
> (self.getId(), key), exc_info = True)
> raise InterfaceException, "Interface %s
> unable to subscribe." %
> self.getId()
> self.logger.debug("%s started listening." %
> self.getId())
>
> def unsubscribe(self, sub):
> """Unsubscribe to this interface"""
> if not self.isOpen():
> raise InterfaceException, "Interface %s is
> not open." %
> self.getId()
> if self.subscriber != sub:
> raise SubscriptionException, "Interface %s is
> not subscribed
> to.", self.getId()
> self.subscriber = None
> try:
> key = self.getSubscribeKey()
> qos = self.getSubscribeQoS()
> XmlBlasterCallbackClient.unsubscribe(self,
> key, qos)
> except Exception:
> self.logger.error("%s unable to unsubscribe
> to %s." %
> (self.getId(), key), exc_info = True)
> raise InterfaceException, "Interface %s
> unable to unsubscribe."
> % self.getId()
> self.logger.debug("%s stopped listening." %
> self.getId())
>
>