I had the same problem, and was able to get around it by increasing the receive-buffer-size-in-bytes parameter in the domain.xml config file. The default (in Glassfish 2.1) is 4096; I had to use a much larger value for my application.
<connection-pool max-pending-count="4096" queue-size-in-bytes="4096" receive-buffer-size-in-bytes="4096" send-buffer-size-in-bytes="8192"/>
[Message sent by forum member 'jparrpearson' (jparrpearson)]
http://forums.java.net/jive/thread.jspa?messageID=346319