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

📄 testarrays2testcase.java

📁 Java有关XML编程需要用到axis 的源代码 把里面bin下的包导入相应的Java工程 进行使用
💻 JAVA
字号:
package test.wsdl.arrays2;import org.apache.axis.Constants;import org.apache.axis.Message;import org.apache.axis.MessageContext;import org.apache.axis.encoding.TypeMapping;import org.apache.axis.encoding.TypeMappingRegistry;import org.apache.axis.message.RPCElement;import org.apache.axis.message.RPCParam;import org.apache.axis.message.SOAPEnvelope;import org.apache.axis.server.AxisServer;import test.wsdl.arrays2.data.*;import test.wsdl.arrays2.data.inner.*;import java.util.Vector;public class TestArrays2TestCase extends junit.framework.TestCase {    public TestArrays2TestCase(String name) {        super(name);    }    private static AxisServer server = new AxisServer();    private static String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +            "<env:Envelope xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n" +            " <env:Header/>\n" +            " <env:Body env:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">\n" +            "  <m:getDataOperationResponse xmlns:m=\"http://www.xyz.net/webservices/arraytest/1.0\">\n" +            "   <dataResponse xmlns:n1=\"http://www.xyz.net/schemas/arraytest/data/1.0\" xsi:type=\"n1:dataType\">\n" +            "    <innerData soapenc:arrayType=\"n2:innerDataType[10]\" xmlns:n2=\"http://www.xyz.net/schemas/arraytest/innerdata/1.0\">\n" +            "     <innerDataType xsi:type=\"n2:innerDataType\">\n" +            "      <trDescr xsi:type=\"n2:trDescrType\">\n" +            "desc#0 HELLO!      </trDescr>\n" +            "     </innerDataType>\n" +            "     <innerDataType xsi:type=\"n2:innerDataType\">\n" +            "      <trDescr xsi:type=\"n2:trDescrType\">\n" +            "desc#1 HELLO!      </trDescr>\n" +            "     </innerDataType>\n" +            "     <innerDataType xsi:type=\"n2:innerDataType\">\n" +            "      <trDescr xsi:type=\"n2:trDescrType\">\n" +            "desc#2 HELLO!      </trDescr>\n" +            "     </innerDataType>\n" +            "     <innerDataType xsi:type=\"n2:innerDataType\">\n" +            "      <trDescr xsi:type=\"n2:trDescrType\">\n" +            "desc#3 HELLO!      </trDescr>\n" +            "     </innerDataType>\n" +            "     <innerDataType xsi:type=\"n2:innerDataType\">\n" +            "      <trDescr xsi:type=\"n2:trDescrType\">\n" +            "desc#4 HELLO!      </trDescr>\n" +            "     </innerDataType>\n" +            "     <innerDataType xsi:type=\"n2:innerDataType\">\n" +            "      <trDescr xsi:type=\"n2:trDescrType\">\n" +            "desc#5 HELLO!      </trDescr>\n" +            "     </innerDataType>\n" +            "     <innerDataType xsi:type=\"n2:innerDataType\">\n" +            "      <trDescr xsi:type=\"n2:trDescrType\">\n" +            "desc#6 HELLO!      </trDescr>\n" +            "     </innerDataType>\n" +            "     <innerDataType xsi:type=\"n2:innerDataType\">\n" +            "      <trDescr xsi:type=\"n2:trDescrType\">\n" +            "desc#7 HELLO!      </trDescr>\n" +            "     </innerDataType>\n" +            "     <innerDataType xsi:type=\"n2:innerDataType\">\n" +            "      <trDescr xsi:type=\"n2:trDescrType\">\n" +            "desc#8 HELLO!      </trDescr>\n" +            "     </innerDataType>\n" +            "     <innerDataType xsi:type=\"n2:innerDataType\">\n" +            "      <trDescr xsi:type=\"n2:trDescrType\">\n" +            "desc#9 HELLO!      </trDescr>\n" +            "     </innerDataType>\n" +            "    </innerData>\n" +            "   </dataResponse>\n" +            "  </m:getDataOperationResponse>\n" +            " </env:Body>\n" +            "</env:Envelope>";    public void testBug22213() throws Exception {        TypeMappingRegistry tmr = server.getTypeMappingRegistry();        TypeMapping tm = (TypeMapping) tmr.createTypeMapping();        tm.setSupportedEncodings(new String[]{Constants.URI_DEFAULT_SOAP_ENC});        tmr.register(Constants.URI_DEFAULT_SOAP_ENC, tm);        tm.register(test.wsdl.arrays2.data.DataType.class,                new javax.xml.namespace.QName("http://www.xyz.net/schemas/arraytest/data/1.0", "dataType"),                new org.apache.axis.encoding.ser.BeanSerializerFactory(                        test.wsdl.arrays2.data.DataType.class,                        new javax.xml.namespace.QName("http://www.xyz.net/schemas/arraytest/data/1.0", "dataType")),                new org.apache.axis.encoding.ser.BeanDeserializerFactory(                        test.wsdl.arrays2.data.DataType.class,                        new javax.xml.namespace.QName("http://www.xyz.net/schemas/arraytest/data/1.0", "dataType")));        tm.register(InnerDataType.class,                new javax.xml.namespace.QName("http://www.xyz.net/schemas/arraytest/innerdata/1.0", "innerDataType"),                new org.apache.axis.encoding.ser.BeanSerializerFactory(                        InnerDataType.class,                        new javax.xml.namespace.QName("http://www.xyz.net/schemas/arraytest/innerdata/1.0", "innerDataType")),                new org.apache.axis.encoding.ser.BeanDeserializerFactory(                        InnerDataType.class,                        new javax.xml.namespace.QName("http://www.xyz.net/schemas/arraytest/innerdata/1.0", "innerDataType")));        tm.register(String.class,                new javax.xml.namespace.QName("http://www.xyz.net/schemas/arraytest/innerdata/1.0", "trDescrType"),                new org.apache.axis.encoding.ser.SimpleSerializerFactory(                        String.class,                        new javax.xml.namespace.QName("http://www.xyz.net/schemas/arraytest/innerdata/1.0", "trDescrType")),                new org.apache.axis.encoding.ser.SimpleDeserializerFactory(                        String.class,                        new javax.xml.namespace.QName("http://www.xyz.net/schemas/arraytest/innerdata/1.0", "trDescrType")));        tm.register(DataRequestType.class,                new javax.xml.namespace.QName("http://www.xyz.net/schemas/arraytest/innerdata/1.0", "dataRequestType"),                new org.apache.axis.encoding.ser.BeanSerializerFactory(                        DataRequestType.class,                        new javax.xml.namespace.QName("http://www.xyz.net/schemas/arraytest/innerdata/1.0", "dataRequestType")),                new org.apache.axis.encoding.ser.BeanDeserializerFactory(                        DataRequestType.class,                        new javax.xml.namespace.QName("http://www.xyz.net/schemas/arraytest/innerdata/1.0", "dataRequestType")));        tm.register(InnerDataType[].class,                new javax.xml.namespace.QName("http://www.xyz.net/schemas/arraytest/innerdata/1.0", "innerDataArrType"),                new org.apache.axis.encoding.ser.ArraySerializerFactory(),                new org.apache.axis.encoding.ser.ArrayDeserializerFactory());        Message message = new Message(xml);        message.setMessageContext(new MessageContext(server));        SOAPEnvelope envelope = (SOAPEnvelope) message.getSOAPEnvelope();        RPCElement body = (RPCElement) envelope.getFirstBody();        Vector arglist = body.getParams();        RPCParam param = (RPCParam) arglist.get(0);        DataType result = (DataType) param.getObjectValue();        System.out.println(result);        assertTrue(result != null);        InnerDataType inner[] = result.getInnerData();        assertTrue(inner != null);        assertEquals(inner.length, 10);        assertEquals(inner[9].getTrDescr().trim(),"desc#9 HELLO!");    }}

⌨️ 快捷键说明

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