The current implementation of JMSTransportSupport is not portable across different JMS providers, the problem is that the format of the name returned from the destination is dependent on the JMS provider. We however assume that the name will always match the name it was bound to JNDI with.
Some possible fixes: -
1 - Require the client to set a property on the incomming message that can be used to identify the web service.
2 - As part of deploying the WS lookup the detination the MDB is configured to use and check the name instead of using the JNDI name.
3 - Lookup a value bound to the ENC that identifies the web service.
i - The user deploying the web service could define this in the ejb-jar.xml
ii - The JBossWS deployer could bind the value to the ENC of the MDB as part of the deployment process.
For backwards compatibility if the value for the chosen fix is not available we can fall back to using the current logic.