Hessian 1.0 Grammar
From CauchoWiki
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
