added test case and patch for marshalling of long values which result in negative int / short values being unmarshalled