Hi Eric,
Thanks for all the information and this will help me a lot to proceed.
We haven't committed the code yet, (was planing to commit it just after
your tests) Any way it seems like we are a little late to get this in to
axis2 1.4 on which synapse 1.2 (next release) is going to depend on, so
I would like this to be go in to the synapse repo and we can contribute
this code to axis2 later once it is stabilized.
I will ask Tharindu (The person who did the initial work) to submit a
patch to the synapse dev, so that we can keep on improving the hessian
formatter and builder pair.
Thanks,
Ruwan
Hubert, Eric wrote:
Hello Ruwan,
I have a small test case to reproduce the second issue (unknown character). Maybe this problem also applies to issue one.
As you expected the issue seem to be related to the response size.
Please consider the following basic service code which is based on your Hessian
sample.
BasicAPI.java:
--------------
package com.sample.server;
import java.util.List;
public interface BasicAPI {
public List getResultObjectList(int listSize);
}
ResultObject:
-------------
package com.sample.domain;
import java.io.Serializable;
public class ResultObject implements Serializable {
private Long id;
private String s = "äüö&?ß_\\/241234";
public ResultObject(Long id) {
this.id = id;
}
public String toString() {
StringBuffer sb = new StringBuffer(64);
return sb.append("id = ").append(id.toString()).append(", s =
").append(s).toString();
}
}
HelloServlet:
-------------
package com.sample.server;
import java.util.ArrayList;
import java.util.List;
import com.caucho.hessian.server.HessianServlet;
import com.sample.domain.ResultObject;
public class HelloServlet extends HessianServlet implements BasicAPI {
public List getResultObjectList(int listSize) {
List list = new ArrayList();
for (int i = 0; i < listSize; i++) {
ResultObject o = new ResultObject(new Long(i));
list.add(o);
}
return list;
}
}
In the client code you can test with diffent values for the listSize parameter.
I tested 5, 10, 20, 50, 100 successfully. As I changed the parameter to 500 I got the following exception:
Caused by: com.caucho.hessian.io.HessianProtocolException: unknown code:?
at com.caucho.hessian.io.HessianInput.error(HessianInput.java:1642)
at com.caucho.hessian.io.HessianInput.readEnd(HessianInput.java:1208)
at com.caucho.hessian.io.MapDeserializer.readMap(MapDeserializer.java)
at
com.caucho.hessian.io.SerializerFactory.readMap(SerializerFactory.java)
at com.caucho.hessian.io.HessianInput.readObject(HessianInput.java:1126)
at
com.caucho.hessian.io.CollectionDeserializer.readList(CollectionDeserializer.java)
at com.caucho.hessian.io.HessianInput.readObject(HessianInput.java)
at com.caucho.hessian.io.HessianInput.readReply(HessianInput.java:285)
at
de.jamba.network.hessian.client.JHessianProxy.invoke(JHessianProxy.java:211)
By the way, where do I find the source for your Hessian additions? I had a
short look at the Axis2 repo but could find the classes.
So I took a quick look in the Axis2-hessian.jar.
Could you please have a look at MessageFormater.getBytes()! I saw a suspicious
limitation to 8192 bytes while reading from an inputstream.
I hope some of the information is helpful to track down the problem.
Regards,
Eric
--
Eric Hubert
Software Architect
Associate Director Research & Development
Jamba! GmbH
Domaquarée
Karl-Liebknecht-Str. 5
10178 Berlin
Germany
Phone: +49- (0)30- 69 538- 3506
Fax: +49- (0)30- 69 538- 599
E-Mail: [EMAIL PROTECTED]
Jamba- Have it or hate it.
---------------------------------------------------------------------------------------
"Musik, Videos, Spiele und jede Menge coole Leute - jetzt neu bei Jamba"
Web/ WAP: http://www.jamba.de
Jamba! GmbH
Gesellschaft mit beschränkter Haftung mit Sitz in Berlin
HRB Nr. 97990 Amtsgericht Charlottenburg
Geschäftsführer: Lee Fenton, Dirk Hoffmann, Michael Paull
-----Original Message-----
From: Ruwan Linton [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 20, 2008 4:59 PM
To: Hubert, Eric
Cc: Asankha C. Perera; Paul Fremantle; [email protected]
Subject: Re: Feedback Hessian-Support in SNAPSHOT-Build
Hi Eric,
Unfortunately it is not possible to provide you with the service
implementations. Of course I understand your situation and will try to
build some test cases to reproduce the problems in simple test services
in parallel. As I don't know much about the cause, I'm not sure whether
I will manage to do so in a timely manner.
I will try to contact the developers of this service to get some advice.
I can understand the situation, actually what I meant is a sample that
fails to respond not exactly the once you tested :-)
Please find attached a threaddump after the esb stops answering service
requests.
Thanks,
Ruwan
Regards,
Eric
_______________________________________________
Esb-java-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev