os = dOs;
}
HessianInputFactory.HeaderType header = _inputFactory.readHeader(is);
AbstractHessianInput in;
AbstractHessianOutput out;
switch (header) {
case CALL_1_REPLY_1:
in = new HessianInput(is);
out = new HessianOutput(os);
break;
case CALL_1_REPLY_2:
in = new HessianInput(is);
out = new Hessian2Output(os);
break;
case HESSIAN_2:
in = new Hessian2Input(is);
in.readCall();
out = new Hessian2Output(os);
break;
default:
throw new IllegalStateException(header + " is an unknown Hessian call");
}
if (serializerFactory != null) {
in.setSerializerFactory(serializerFactory);
out.setSerializerFactory(serializerFactory);
}
try {
invoke(_service, in, out);
} finally {
in.close();
out.close();
if (isDebug)
os.close();
}