Why is payload modified in pubsub through Openfire?

I’m facing a problem when implementing a pubsub service.

Using a SimplePayload object in Smack I give something like

“” + my_string + “” as the payload argument in my publisher client.

But my subscriber client receives :

my_string

The payload has been given a xmlns attribute which causes me a lot a trouble. In my real application I’ve to deal with big fat payloads which are modified by Openfire and this makes me unable to parse correctly these payloads afterward.

I really want to prevent the server from touching the payload.

I tested ejabberd which lets the payload unchanged as expected.

I have also spent hours and hours in the Openfire source code trying to figure out why and where the payload is changed : in PubSubEngine, LeafNode, PublishedItem, in dom4j, … but without success at this point.

Help would be appreciated !