package test.encoding;
import org.apache.axis.AxisFault;
import org.apache.axis.client.Call;
import test.GenericLocalTest;
import java.util.Vector;
public class TestCircularRefs extends GenericLocalTest {
public TestCircularRefs() {
super("foo");
}
public TestCircularRefs(String s) {
super(s);
}
public void testCircularVectors() throws Exception {
try {
Call call = getCall();
Object result = call.invoke("getCircle", null);
} catch (AxisFault af){
return;
}
fail("Expected a fault");
// This just tests that we don't get exceptions during deserialization
// for now. We're still getting nulls for some reason, and once that's
// fixed we should uncomment this next line
// assertTrue("Result wasn't an array", result.getClass().isArray());
}
/**
* Service method. Return a Vector containing an object graph with a loop.
*
* @return a Vector with circular references
*/
public Vector getCircle() {
Vector vector1 = new Vector();
vector1.addElement("AString");
Vector vector2 = new Vector();
vector2.addElement(vector1);
vector1.addElement(vector2);
return vector2;
}
}
|