| 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; |
| } |
| } |