diff --git a/LCS/Messaging/python/messaging/Service.py b/LCS/Messaging/python/messaging/Service.py index a41b4cd7c4824bd80ffbcec01b312b025e0c1c88..dbf7f6f12af7a617b3c1a4b6d49983587dda6379 100644 --- a/LCS/Messaging/python/messaging/Service.py +++ b/LCS/Messaging/python/messaging/Service.py @@ -250,6 +250,18 @@ class Service(object): reply_msg.show() # send the result to the RPC client + if '/' in reply_to: + # sometimes clients (JAVA) setup the reply_to field as "exchange/key; {options}" + # make sure we can deal with that. + tmpaddress=reply_to.split('/')[1] + with ToBus(tmpaddress[0]) as dest: + subject = tmpaddress[1] + if ';' in subject: + subject = subject.split(';')[0] + ToSend.subject=subject + dest.send(ToSend) + return + if isinstance(self.reply_bus,ToBus): reply_msg.subject = reply_to self.reply_bus.send(reply_msg)