I think I have made some progress. If I edit the WSDL file for the EJBs, and change it to say "https://" and port 9181, and then deploy the EJBs in a SA rather than as normal EJBs, then my dynamic EJB call works without the exception that using port 8181 causes!
So, it appears that over the wire calls to port 9181 - the HTTP-binding service provider, rather than the J2EE service at 8181, receive the message format they are looking for.
I wish I understood this better, I would rather use 8181/8080 for some of these as they have no other reason to involve JBI components.
[Message sent by forum member 'jsexton' (jsexton)]
http://forums.java.net/jive/thread.jspa?messageID=347960