Hessian 1.0 Grammar
From Resin 3.0
The following is the complete grammar for Hessian 1.0. All integers are big-endian, i.e. starting with the most-significant byte first.
top ::= call ::= reply call ::= c x01 x00 header* method object* z reply ::= r x01 x00 header* object z ::= r x01 x00 header* fault z object ::= null ::= boolean ::= int ::= long ::= double ::= date ::= string ::= xml ::= binary ::= remote ::= ref ::= list ::= map header ::= H b1 b0 header-string object method ::= m b1 b0 method-string fault ::= f (object object)* list ::= V type? length? object* z map ::= M type? (object object)* z remote ::= r type? string type ::= t b1 b0 type-string length ::= l b3 b2 b1 b0 null ::= N boolean ::= T ::= F int ::= I b3 b2 b1 b0 long ::= L b7 b6 b5 b4 b3 b2 b1 b0 double ::= D b7 b6 b5 b4 b3 b2 b1 b0 date ::= d b7 b6 b5 b4 b3 b2 b1 b0 string ::= (s b1 b0 string-data)* S b1 b0 string-data xml ::= (x b1 b0 xml-data)* X b1 b0 xml-data binary ::= (b b1 b0 binary-data)* B b1 b0 binary-data ref ::= R b3 b2 b1 b0