I think I’ve just come across a bug in OpenFire’s PubSub implementation. When retrieving subscriptions for a particular node (as in XEP-0060, Retrieve Subscriptions, Example 24), the filtering by node ID seems to be odd.
I’m using node IDs that are the same as the URL paths to my REST API, hence similar to /foo/bar. However, when querying for /foo/bar, OpenFire also returns subscriptions to the node /bar only. This isn’t very problematic as long as your checking the node IDs of the returned subscriptions. Otherwise, you might end up listening for events on the wrong node.
Sorry for not coming up with a test case. However, if the bug isn’t easy to spot in the codebase, I could try to come up with one later.