I receive the error when trying to transfer files using code similar to the "Hessian with large binary data" example. I am using version 3.1.5. I found a post listing the same error dated: Wed Jan 23 01:59:32 CST 2008 -- Bug Report: buffered reading error in hessian3.1.3.jar -- tedeyang at gmail.com. I followed their suggestion and it solved my problem, but I could find nothing in the bug list. Here is the fix explained in more detail.

class= Hessian2Input extends AbstractHessianInput implements Hessian2Constants

method=  int read(byte[] buffer, int offset, int length) throws IOException

               ---------- code omitted for brevity ---------

               switch (code)
               {
               case 'b':
                   _isLastChunk = false;
                   _chunkLength = (read() << 8) + read();
                   break;

               case 'B':
                   _isLastChunk = true;
                   _chunkLength = (read() << 8) + read();
                   break;
//======================================Added this section
               case 0x20:
               case 0x21:
               case 0x22:
               case 0x23:
               case 0x24:
               case 0x25:
               case 0x26:
               case 0x27:
               case 0x28:
               case 0x29:
               case 0x2a:
               case 0x2b:
               case 0x2c:
               case 0x2d:
               case 0x2e:
               case 0x2f:
                   _isLastChunk = true;
                   _chunkLength = code - 0x20;
                   break;
//=============================================
               default:
                   throw expect("byte[]", code);
               }
           }
_______________________________________________
hessian-interest mailing list
[email protected]
http://maillist.caucho.com/mailman/listinfo/hessian-interest

Reply via email to