Hi. I'm fairly new in using hessian and has recently updated my library from 3.0.13 to 3.0.20. I was trying to make a generic hessian stream reader that i can use for webservices that does not use servlets. below is the method i created. Please feel free to comment if there is something wrong with this code:

public static void process(
  Object service, InputStream is, OutputStream os
) throws Exception {
  HessianSkeleton skeleton = new HessianSkeleton(service, service.getClass());
  try {
    HessianInput in = new HessianInput(is);
    HessianOutput out = new HessianOutput();
    out.setSerializerFactory(serializerFactory);
    out.init(os);
    skeleton.invoke(in, out);
  } catch (Throwable e) {
    throw new Exception(e.getMessage(), e);
  } finally {
    skeleton = null;
  }
}

My problem is that this doesn't work when I'm using 3.0.20. i always get this exception:

Caused by: com.caucho.hessian.io.HessianProtocolException: expected hessian method ('m') at code=99 ch=c
    at com.caucho.hessian.io.HessianInput.error( HessianInput.java :1642)
    at com.caucho.hessian.io.HessianInput.readMethod(HessianInput.java:204)
    at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:112)
    at ph.scn.commons.util.HessianEngine.process(HessianEngine.java :51)

There is no error when i switched back to 3.0.13.

Any ideas where the error could be from?

Thanks.


- ian


_______________________________________________
hessian-interest mailing list
[email protected]
http://maillist.caucho.com/mailman/listinfo/hessian-interest

Reply via email to