⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 marshalltestcase.java

📁 Java有关XML编程需要用到axis 的源代码 把里面bin下的包导入相应的Java工程 进行使用
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            binding = (test.wsdl.marshall.MarshallBindingStub) new test.wsdl.marshall.MarshallLocator()                    .getMarshallPort();        } catch (javax.xml.rpc.ServiceException jre) {            if (jre.getLinkedCause() != null)                jre.getLinkedCause().printStackTrace();            throw new junit.framework.AssertionFailedError(                    "JAX-RPC ServiceException caught: " + jre);        }        assertNotNull("binding is null", binding);        // Time out after a minute        binding.setTimeout(60000);        // Test operation        byte[][] value = null;        value = binding.arrayOfhexBinaryUnbounded(getBiDimensionnalByteArray());        // TBD - validate results        checkArrayReturnValues(value);        QName responseQName = new QName("http://marshall.wsdl.test",                "ArrayOfhexBinaryUnboundedResponse");        String innerTypeString = "xsd:hexBinary";        String arrayTypeString = innerTypeString + DIMS;        Message m = binding._getCall().getResponseMessage();        SOAPBody body = (SOAPBody) m.getSOAPBody();        checkReturnMessage(body, responseQName, arrayTypeString,                innerTypeString);    }    public void test11MarshallPortArrayOfsoapencbase64Unbounded()            throws Exception {        test.wsdl.marshall.MarshallBindingStub binding;        try {            binding = (test.wsdl.marshall.MarshallBindingStub) new test.wsdl.marshall.MarshallLocator()                    .getMarshallPort();        } catch (javax.xml.rpc.ServiceException jre) {            if (jre.getLinkedCause() != null)                jre.getLinkedCause().printStackTrace();            throw new junit.framework.AssertionFailedError(                    "JAX-RPC ServiceException caught: " + jre);        }        assertNotNull("binding is null", binding);        // Time out after a minute        binding.setTimeout(60000);        // Test operation        byte[][] value = null;        value = binding                .arrayOfsoapencbase64Unbounded(getBiDimensionnalByteArray());        // TBD - validate results        checkArrayReturnValues(value);        QName responseQName = new QName("http://marshall.wsdl.test",                "ArrayOfsoapencbase64UnboundedResponse");        String innerTypeString = "soapenc:base64";        String arrayTypeString = innerTypeString + DIMS;        Message m = binding._getCall().getResponseMessage();        SOAPBody body = (SOAPBody) m.getSOAPBody();        checkReturnMessage(body, responseQName, arrayTypeString,                innerTypeString);    }    public void test12MarshallPortArrayOfArrayOfSoapEncString() throws Exception {        test.wsdl.marshall.MarshallBindingStub binding;        try {            binding = (test.wsdl.marshall.MarshallBindingStub) new test.wsdl.marshall.MarshallLocator()                    .getMarshallPort();        } catch (javax.xml.rpc.ServiceException jre) {            if (jre.getLinkedCause() != null)                jre.getLinkedCause().printStackTrace();            throw new junit.framework.AssertionFailedError(                    "JAX-RPC ServiceException caught: " + jre);        }        assertNotNull("binding is null", binding);        // Time out after a minute        binding.setTimeout(60000);        // Test operation        String[] v1 = new String[] { "a1", "a2", "", null, "a5", null};        String[] v2 = new String[] { "b1", "b2", "", null, "b5", null };        String[] v3 = new String[] { "c1", "c2", "", null, "c5", null };        String[][] value = new String[][] {v1, v2, v3};        String[][] ret = null;        ret = binding.arrayOfArrayOfSoapEncString(value);        // print Array        for(int i = 0; i < ret.length; i++) {            System.out.print("[");            for(int j = 0; j < ret[i].length; j++) {                System.out.print("[" + ret[i][j] + "]");            }            System.out.println("]");        }        assertEquals("array size incorrect", value.length, ret.length);        for(int i = 0; i < value.length; i++) {            assertEquals("array size incorrect", value[i].length, ret[i].length);            for(int j = 0; j < value[i].length; j++) {                assertEquals("value not equals", value[i][j], ret[i][j]);            }        }        QName responseQName = new QName("http://marshall.wsdl.test",                "ArrayOfArrayOfSoapEncStringResponse");        QName returnQName = new QName("return");        Message m = binding._getCall().getResponseMessage();        SOAPBody body = (SOAPBody) m.getSOAPBody();        MessageElement response = body.getChildElement(responseQName);        MessageElement returnE = response.getChildElement(returnQName);        String arrayType = returnE.getAttributeNS(                "http://schemas.xmlsoap.org/soap/encoding/", "arrayType");        assertEquals("wrong array type", "soapenc:string[][3]", arrayType);        for (Iterator it = returnE.getChildElements(returnQName); it.hasNext();) {            returnE = (MessageElement) it.next();            arrayType = returnE.getAttributeNS(                    "http://schemas.xmlsoap.org/soap/encoding/", "arrayType");            assertEquals("wrong array type", "soapenc:string[6]", arrayType);            for (Iterator it2 = returnE.getChildElements(returnQName); it2.hasNext();) {                returnE = (MessageElement) it2.next();                String xsiType = returnE.getAttributeNS(                        "http://www.w3.org/2001/XMLSchema-instance", "type");                assertEquals("wrong xsi type", "soapenc:string", xsiType);            }        }        // TBD - validate results    }    public void test13MarshallPortArrayOfArrayOfinteger() throws Exception {        test.wsdl.marshall.MarshallBindingStub binding;        try {            binding = (test.wsdl.marshall.MarshallBindingStub) new test.wsdl.marshall.MarshallLocator()                    .getMarshallPort();        } catch (javax.xml.rpc.ServiceException jre) {            if (jre.getLinkedCause() != null)                jre.getLinkedCause().printStackTrace();            throw new junit.framework.AssertionFailedError(                    "JAX-RPC ServiceException caught: " + jre);        }        assertNotNull("binding is null", binding);        // Time out after a minute        binding.setTimeout(60000);        // Test operation        BigInteger[] v1 = new BigInteger[] { new BigInteger("-3254687"), new BigInteger("0"), new BigInteger("3254687"), null};        BigInteger[] v2 = new BigInteger[] { new BigInteger("-3254688"), new BigInteger("0"), new BigInteger("3254688"), null};        BigInteger[] v3 = new BigInteger[] { new BigInteger("-3254689"), new BigInteger("0"), new BigInteger("3254689"), null};        BigInteger[][] value = new BigInteger[][] {v1, v2, v3};        BigInteger[][] ret = null;        ret = binding.arrayOfArrayOfinteger(value);        // print Array        for(int i = 0; i < ret.length; i++) {            System.out.print("[");            for(int j = 0; j < ret[i].length; j++) {                System.out.print("[" + ret[i][j] + "]");            }            System.out.println("]");        }        assertEquals("array size incorrect", value.length, ret.length);        for(int i = 0; i < value.length; i++) {            assertEquals("array size incorrect", value[i].length, ret[i].length);            for(int j = 0; j < value[i].length; j++) {                assertEquals("value not equals", value[i][j], ret[i][j]);            }        }        QName responseQName = new QName("http://marshall.wsdl.test",                "ArrayOfArrayOfintegerResponse");        QName returnQName = new QName("return");        Message m = binding._getCall().getResponseMessage();        SOAPBody body = (SOAPBody) m.getSOAPBody();        MessageElement response = body.getChildElement(responseQName);        MessageElement returnE = response.getChildElement(returnQName);        String arrayType = returnE.getAttributeNS(                "http://schemas.xmlsoap.org/soap/encoding/", "arrayType");        assertEquals("wrong array type", "xsd:integer[][3]", arrayType);        for (Iterator it = returnE.getChildElements(returnQName); it.hasNext();) {            returnE = (MessageElement) it.next();            arrayType = returnE.getAttributeNS(                    "http://schemas.xmlsoap.org/soap/encoding/", "arrayType");            assertEquals("wrong array type", "xsd:integer[4]", arrayType);            for (Iterator it2 = returnE.getChildElements(returnQName); it2.hasNext();) {                returnE = (MessageElement) it2.next();                // we have multiRef to follow here                MessageElement real = returnE.getRealElement();                String xsiType = real.getAttributeNS(                        "http://www.w3.org/2001/XMLSchema-instance", "type");                assertEquals("wrong xsi type", "xsd:integer", xsiType);            }        }        // TBD - validate results    }    /**     * @param m     */    private void printMessage(Message m) throws Exception {        System.out.println();        m.writeTo(System.out);        System.out.println();    }    /**     * @param responseQName     * @param arrayTypeString     * @param innerTypeString     */    private void checkReturnMessage(SOAPBody body, QName responseQName,            String arrayTypeString, String innerTypeString) {        // Message should looks like this :        // ns:<methodName>Response        // return @soapenc:arrayType        // return @xsi:type        QName returnQName = new QName("return");        MessageElement response = body.getChildElement(responseQName);        // check arrayType attribute        MessageElement returnE = response.getChildElement(returnQName);        String arrayType = returnE.getAttributeNS(                "http://schemas.xmlsoap.org/soap/encoding/", "arrayType");        assertEquals("wrong array type", arrayTypeString, arrayType);        for (Iterator i = returnE.getChildElements(returnQName); i.hasNext();) {            MessageElement ret = (MessageElement) i.next();            String xsiType = ret.getAttributeNS(                    "http://www.w3.org/2001/XMLSchema-instance", "type");            assertNotNull("should have an xsi:type attribute", xsiType);            assertEquals("wrong xsi:type", innerTypeString, xsiType);        }    }    /**     * @param value     */    private void checkArrayReturnValues(byte[][] value) {        assertEquals("wrong array length", 3, value.length);        assertEquals("wrong subarray length", 3, value[0].length);        assertEquals("wrong subarray length", 3, value[1].length);        assertEquals("wrong subarray length", 3, value[2].length);        assertEquals("wrong value[0][0]", -127, value[0][0]);        assertEquals("wrong value[0][1]", 0, value[0][1]);        assertEquals("wrong value[0][2]", 127, value[0][2]);        assertEquals("wrong value[1][0]", -127, value[1][0]);        assertEquals("wrong value[1][1]", 0, value[1][1]);        assertEquals("wrong value[1][2]", 127, value[1][2]);        assertEquals("wrong value[2][0]", -127, value[2][0]);        assertEquals("wrong value[2][1]", 0, value[2][1]);        assertEquals("wrong value[2][2]", 127, value[2][2]);    }    /**     * @return     */    private byte[][] getBiDimensionnalByteArray() {        byte[][] array = new byte[3][];        array[0] = new byte[3];        array[1] = new byte[3];        array[2] = new byte[3];        array[0][0] = -127;        array[0][1] = 0;        array[0][2] = 127;        array[1][0] = -127;        array[1][1] = 0;        array[1][2] = 127;        array[2][0] = -127;        array[2][1] = 0;        array[2][2] = 127;        return array;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -