Hi Mark, this is a tough one (but we need the destructors working). I'll see how far I get. Thanks for looking at it.
Carsten -----Original Message----- From: Mark Whitlock [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 06, 2005 3:05 PM To: [email protected] Subject: Carston: please help Hi Carston, The fix you made to BeanParamWriter.java on 28/06/05 1.78 has broken a couple of our tests and I am struggling to fix them. Please could you help me. I agree with your fix - I think the generated classes should clean up their storage in their destructor. Unfortunately this breaks the AxisBench and ComplexLists tests. AxisBench is set up for unit testing - so that you can run it without a server. Just specify ant -f test.xml -Dtest.name=AxisBench -DmockServer=true This will run it against a mock server which simply returns the response message from AxisBench_ServerResponse.expected. AxisBench fails by corrupting strings and qnames within the BenchBasicDataType and throwing an exception when storage is cleaned at the end of the testcase. When I commented out the lines that you added to BeanParamWriter, AxisBench passed. The problem occurs in deserialization since it is the output object that is corrrupted. Looking in the trace, I can see the strings being deserialized correctly by SoapDeSerializer::getElementAsString, so it must later on that they are corrupted. I am running on Windows, although I expect the problem will occur on all platforms. The similarity between AxisBench and ComplexLists is that they both return an array of complex types which contain string types that get corrupted. There is code in Axis_Create_BenchBasicDataType that extends an array by new'ing a new array, memcpy'ing the old array into the new array and deleting the old array. I thought that this might be the problem since ~BenchBasicDataType will delete the embedded strings when the old array is deleted. So I commented out the delete (just to try it) but this did not fix the problem. My guess is that the problem is in this area. Do you have any thoughts on what the problem might be? Any help would be greatly appreciated, Thanks, Mark Mark Whitlock IBM
