1 7 package test.wsdl.echo2; 8 9 import java.util.Iterator ; 10 import javax.xml.namespace.QName ; 11 import org.apache.axis.MessageContext; 12 import org.apache.axis.message.MessageElement; 13 import org.apache.axis.message.PrefixedQName; 14 import org.apache.axis.message.SOAPBody; 15 16 public class Echo2ServiceTestCase extends junit.framework.TestCase { 17 public Echo2ServiceTestCase(java.lang.String name) { 18 super(name); 19 } 20 21 public void testEcho2WSDL() throws Exception { 22 javax.xml.rpc.ServiceFactory serviceFactory = javax.xml.rpc.ServiceFactory 23 .newInstance(); 24 java.net.URL url = new java.net.URL ( 25 new test.wsdl.echo2.Echo2ServiceLocator().getEcho2Address() 26 + "?WSDL"); 27 javax.xml.rpc.Service service = serviceFactory.createService(url, 28 new test.wsdl.echo2.Echo2ServiceLocator().getServiceName()); 29 assertTrue(service != null); 30 } 31 32 public void test1Echo2EchoMyBase64Bean() throws Exception { 33 test.wsdl.echo2.Echo2SoapBindingStub binding; 34 binding = (test.wsdl.echo2.Echo2SoapBindingStub) new test.wsdl.echo2.Echo2ServiceLocator() 35 .getEcho2(); 36 assertNotNull("binding is null", binding); 37 binding.setTimeout(60000); 39 40 test.wsdl.echo2.MyBase64Bean input = new test.wsdl.echo2.MyBase64Bean(); 44 fillMyBase64Bean(input); 45 test.wsdl.echo2.MyBase64Bean ret = binding.echoMyBase64Bean(input); 46 47 52 binding._getCall().getResponseMessage().writeTo(System.out); 54 SOAPBody body = (SOAPBody) binding._getCall().getResponseMessage().getSOAPBody(); 55 56 QName responseQName = new QName ("urn:echo2.wsdl.test", "echoMyBase64BeanResponse"); 57 QName returnQName = new QName ("", "return"); 58 QName xsdByteQName = new QName ("", "varXsdByte"); 59 QName soapByteQName = new QName ("", "varSoapByte"); 60 QName xsdBase64BinQName = new QName ("", "varXsdBase64Binary"); 61 QName soapBase64BinQName = new QName ("", "varSoapBase64Binary"); 62 QName xsdHexBinQName = new QName ("", "varXsdHexBinary"); 63 QName soapBase64QName = new QName ("", "varSoapBase64"); 64 65 MessageElement response = body.getChildElement(responseQName); 66 assertNotNull("no <ns1:echoMyBase64BeanResponse> found", response); 67 MessageElement return1 = response.getChildElement(returnQName); 68 assertNotNull("no <return> found", return1); 69 MessageElement realRet = return1.getRealElement(); 70 71 Iterator it = realRet.getChildElements(xsdByteQName); 72 MessageElement one = null; 74 while (it.hasNext()) { 75 assertNull("only 1 element named " + xsdByteQName, one); 76 one = (MessageElement) it.next(); 77 } 78 assertNull(xsdByteQName + " is nil and shouldn't have any children", one.getChildren()); 79 80 it = realRet.getChildElements(soapByteQName); 81 one = null; 83 while (it.hasNext()) { 84 assertNull("only 1 element named " + soapByteQName, one); 85 one = (MessageElement) it.next(); 86 } 87 assertNull(soapByteQName + " is nil and shouldn't have any children", one.getChildren()); 88 89 it = realRet.getChildElements(xsdBase64BinQName); 90 one = null; 92 while (it.hasNext()) { 93 assertNull("only 1 element named " + xsdBase64BinQName, one); 94 one = (MessageElement) it.next(); 95 } 96 assertEquals(xsdBase64BinQName + " have wrong value", "fwCB", one.getFirstChild().getNodeValue()); 97 98 it = realRet.getChildElements(soapBase64BinQName); 99 one = null; 101 while (it.hasNext()) { 102 assertNull("only 1 element named " + soapBase64BinQName, one); 103 one = (MessageElement) it.next(); 104 } 105 assertEquals(soapBase64BinQName + " have wrong value", "fwCB", one.getFirstChild().getNodeValue()); 106 107 it = realRet.getChildElements(xsdHexBinQName); 108 one = null; 110 while (it.hasNext()) { 111 assertNull("only 1 element named " + xsdHexBinQName, one); 112 one = (MessageElement) it.next(); 113 } 114 assertEquals(xsdHexBinQName + " have wrong value", "7f0081", one.getFirstChild().getNodeValue()); 115 116 it = realRet.getChildElements(soapBase64QName); 117 one = null; 119 while (it.hasNext()) { 120 assertNull("only 1 element named " + soapBase64QName, one); 121 one = (MessageElement) it.next(); 122 } 123 assertEquals(soapBase64QName + " have wrong value", "fwCB", one.getFirstChild().getNodeValue()); 124 125 } 126 127 public void test1Echo2EchoArrayOfMyBase64Bean() throws Exception { 128 test.wsdl.echo2.Echo2SoapBindingStub binding; 129 binding = (test.wsdl.echo2.Echo2SoapBindingStub) new test.wsdl.echo2.Echo2ServiceLocator() 130 .getEcho2(); 131 assertNotNull("binding is null", binding); 132 binding.setTimeout(60000); 134 MyBase64Bean[] value = null; 136 MyBase64Bean[] array = new MyBase64Bean[2]; 137 array[0] = new MyBase64Bean(); 138 fillMyBase64Bean(array[0]); 139 array[1] = new MyBase64Bean(); 140 fillMyBase64Bean(array[1]); 141 value = binding.echoArrayOfMyBase64Bean(array); 142 } 144 145 148 private void fillMyBase64Bean(MyBase64Bean bean) { 149 bean.setVarSoapBase64(new byte[] {127, 0, -127}); 150 bean.setVarSoapBase64Binary(new byte[] {127, 0, -127}); 151 bean.setVarXsdBase64Binary(new byte[] {127, 0, -127}); 152 bean.setVarXsdHexBinary(new byte[] {127, 0, -127}); 153 154 } 155 156 public void test2Echo2EchoArrayOfString_MaxOccursUnbounded() 157 throws Exception { 158 test.wsdl.echo2.Echo2SoapBindingStub binding; 159 Echo2ServiceLocator loc = new test.wsdl.echo2.Echo2ServiceLocator(); 160 try { 161 binding = (test.wsdl.echo2.Echo2SoapBindingStub)loc.getEcho2(); 162 } catch (javax.xml.rpc.ServiceException jre) { 163 if (jre.getLinkedCause() != null) 164 jre.getLinkedCause().printStackTrace(); 165 throw new junit.framework.AssertionFailedError( 166 "JAX-RPC ServiceException caught: " + jre); 167 } 168 assertNotNull("binding is null", binding); 169 binding.setTimeout(60000); 171 String [] args = new String [] {"one", "two", "", null}; 173 java.lang.String [] value = null; 174 value = binding 175 .echoArrayOfString_MaxOccursUnbounded(args); 176 177 181 SOAPBody body = (SOAPBody)binding._getCall().getResponseMessage().getSOAPBody(); 182 MessageElement element; 183 QName responseQName = new QName ("urn:echo2.wsdl.test", "echoArrayOfString_MaxOccursUnboundedResponse"); 184 QName returnQName = new QName ("", "return"); 185 QName itemQName = new QName ("", "varStringArray"); 186 element = body.getChildElement(responseQName); 187 assertNotNull("Couldn't find response element", element); 188 element = element.getChildElement(returnQName); 189 assertNotNull("Couldn't find return element", element); 190 Iterator elements = element.getChildElements(itemQName); 191 assertNotNull("Couldn't find items", elements); 192 int count = 0; 193 while (elements.hasNext()) { 194 element = (MessageElement) elements.next(); 195 count++; 196 } 197 assertEquals("Wrong # of items", 4, count); 198 199 for (int i = 0; i < value.length; i++) { 201 assertEquals("Item " + i + " didn't match!", args[i], value[i]); 202 } 203 } 204 205 public void test3Echo2EchoArrayOfString_SoapEncArray() throws Exception { 206 test.wsdl.echo2.Echo2SoapBindingStub binding; 207 try { 208 binding = (test.wsdl.echo2.Echo2SoapBindingStub) new test.wsdl.echo2.Echo2ServiceLocator() 209 .getEcho2(); 210 } catch (javax.xml.rpc.ServiceException jre) { 211 if (jre.getLinkedCause() != null) 212 jre.getLinkedCause().printStackTrace(); 213 throw new junit.framework.AssertionFailedError( 214 "JAX-RPC ServiceException caught: " + jre); 215 } 216 assertNotNull("binding is null", binding); 217 binding.setTimeout(60000); 219 java.lang.String [] value = null; 221 value = binding.echoArrayOfString_SoapEncArray(new java.lang.String [] { 222 "one", "two", "three", "", null }); 223 } 225 public static void main(String [] argv) throws Exception { 226 Echo2ServiceTestCase tc = new Echo2ServiceTestCase("somehging;"); 227 tc.test1Echo2EchoMyBase64Bean(); 228 } 229 } 230 | Popular Tags |