| /* |
| * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0, |
| * or the Eclipse Distribution License v. 1.0 which is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause |
| */ |
| |
| // Contributors: |
| // David McCann - September 23, 2011 - 2.4 - Initial implementation |
| package dbws.testing.plsqlcollection; |
| |
| //javase imports |
| import java.io.StringReader; |
| import org.w3c.dom.Document; |
| |
| //java eXtension imports |
| import javax.wsdl.WSDLException; |
| |
| //JUnit4 imports |
| import org.junit.AfterClass; |
| import org.junit.BeforeClass; |
| import org.junit.Test; |
| import static org.junit.Assert.assertNotNull; |
| import static org.junit.Assert.assertTrue; |
| |
| //EclipseLink imports |
| import org.eclipse.persistence.internal.xr.Invocation; |
| import org.eclipse.persistence.internal.xr.Operation; |
| import org.eclipse.persistence.oxm.XMLMarshaller; |
| import org.eclipse.persistence.oxm.XMLUnmarshaller; |
| |
| //test imports |
| import dbws.testing.DBWSTestSuite; |
| |
| /** |
| * Tests PL/SQL collections with simple arguments. |
| * |
| */ |
| public class PLSQLCollectionTestSuite extends DBWSTestSuite { |
| |
| static final String CREATE_PACKAGE2_PACKAGE = |
| "CREATE OR REPLACE PACKAGE PACKAGE2 AS" + |
| "\nTYPE tab1 IS TABLE OF VARCHAR2(111) INDEX BY BINARY_INTEGER;" + |
| "\nTYPE ORECORD IS RECORD (" + |
| "\nO1 VARCHAR2(10)," + |
| "\nO2 DECIMAL(7,2)" + |
| "\n);" + |
| "\nTYPE TAB2 IS TABLE OF ORECORD INDEX BY BINARY_INTEGER;" + |
| "\nTYPE TAB3 IS TABLE OF BOOLEAN INDEX BY BINARY_INTEGER;" + |
| "\nPROCEDURE COPYTABLE(OLDTAB IN tab1, NEWTAB OUT tab1);" + |
| "\nPROCEDURE SETRECORD(INREC IN ORECORD, NEWTAB OUT TAB2);" + |
| "\nPROCEDURE COPYBOOLEANTABLE(OLDTAB IN TAB3, NEWTAB OUT TAB3);" + |
| "\nPROCEDURE BOOLTOVARCHAR(OLDTAB IN TAB3, NEWTAB OUT tab1);" + |
| "\nFUNCTION COPYTABLE2(OLDTAB IN tab1) RETURN tab1;" + |
| "\nFUNCTION SETRECORD2(INREC IN ORECORD) RETURN TAB2;" + |
| "\nEND PACKAGE2;"; |
| static final String CREATE_PACKAGE2_BODY = |
| "CREATE OR REPLACE PACKAGE BODY PACKAGE2 AS" + |
| "\nPROCEDURE COPYTABLE(OLDTAB IN tab1, NEWTAB OUT tab1) AS" + |
| "\nBEGIN" + |
| "\nNEWTAB := OLDTAB;" + |
| "\nEND COPYTABLE;" + |
| "\nPROCEDURE COPYBOOLEANTABLE(OLDTAB IN TAB3, NEWTAB OUT TAB3) AS" + |
| "\nBEGIN" + |
| "\nNEWTAB := OLDTAB;" + |
| "\nEND COPYBOOLEANTABLE;" + |
| "\nPROCEDURE BOOLTOVARCHAR(OLDTAB IN TAB3, NEWTAB OUT tab1) AS" + |
| "\nBEGIN" + |
| "\nIF OLDTAB.COUNT > 0 THEN" + |
| "\nFOR I IN OLDTAB.FIRST..OLDTAB.LAST LOOP" + |
| "\nIF OLDTAB(I) = TRUE THEN" + |
| "\nNEWTAB(I + 1 - OLDTAB.FIRST) := 'true';" + |
| "\nELSE" + |
| "\nNEWTAB(I + 1 - OLDTAB.FIRST) := 'false';" + |
| "\nEND IF;"+ |
| "\nEND LOOP;" + |
| "\nEND IF;" + |
| "\nEND BOOLTOVARCHAR;" + |
| "\nPROCEDURE SETRECORD(INREC IN ORECORD, NEWTAB OUT TAB2) AS" + |
| "\nBEGIN" + |
| "\nNEWTAB(0) := INREC;" + |
| "\nEND SETRECORD;" + |
| "\nFUNCTION COPYTABLE2(OLDTAB IN tab1) RETURN tab1 IS NEWTAB tab1;" + |
| "\nBEGIN" + |
| "\nNEWTAB := OLDTAB;" + |
| "\nRETURN NEWTAB;" + |
| "\nEND COPYTABLE2;" + |
| "\nFUNCTION SETRECORD2(INREC IN ORECORD) RETURN TAB2 IS NEWTAB TAB2;" + |
| "\nBEGIN" + |
| "\nNEWTAB(0) := INREC;" + |
| "\nRETURN NEWTAB;" + |
| "\nEND SETRECORD2;" + |
| "\nEND PACKAGE2;"; |
| static final String CREATE_PACKAGE2_TAB1_TYPE = |
| "CREATE OR REPLACE TYPE PACKAGE2_tab1 AS TABLE OF VARCHAR2(111)"; |
| static final String CREATE_PACKAGE2_ORECORD_TYPE = |
| "CREATE OR REPLACE TYPE PACKAGE2_ORECORD AS OBJECT (" + |
| "\nO1 VARCHAR2(10)," + |
| "\nO2 DECIMAL(7,2)" + |
| "\n)"; |
| static final String CREATE_PACKAGE2_TAB2_TYPE = |
| "CREATE OR REPLACE TYPE PACKAGE2_TAB2 AS TABLE OF PACKAGE2_ORECORD"; |
| static final String CREATE_PACKAGE2_TAB3_TYPE = |
| "CREATE OR REPLACE TYPE PACKAGE2_TAB3 AS TABLE OF INTEGER"; |
| static final String DROP_PACKAGE2_PACKAGE = |
| "DROP PACKAGE PACKAGE2"; |
| static final String DROP_PACKAGE2_TAB1_TYPE = |
| "DROP TYPE PACKAGE2_tab1"; |
| static final String DROP_PACKAGE2_TAB2_TYPE = |
| "DROP TYPE PACKAGE2_TAB2"; |
| static final String DROP_PACKAGE2_TAB3_TYPE = |
| "DROP TYPE PACKAGE2_TAB3"; |
| static final String DROP_PACKAGE2_ORECORD_TYPE = |
| "DROP TYPE PACKAGE2_ORECORD"; |
| |
| static boolean ddlCreate = false; |
| static boolean ddlDrop = false; |
| static boolean ddlDebug = false; |
| |
| @BeforeClass |
| public static void setUp() throws WSDLException { |
| if (conn == null) { |
| try { |
| conn = buildConnection(); |
| } |
| catch (Exception e) { |
| e.printStackTrace(); |
| } |
| } |
| String ddlCreateProp = System.getProperty(DATABASE_DDL_CREATE_KEY, DEFAULT_DATABASE_DDL_CREATE); |
| if ("true".equalsIgnoreCase(ddlCreateProp)) { |
| ddlCreate = true; |
| } |
| String ddlDropProp = System.getProperty(DATABASE_DDL_DROP_KEY, DEFAULT_DATABASE_DDL_DROP); |
| if ("true".equalsIgnoreCase(ddlDropProp)) { |
| ddlDrop = true; |
| } |
| String ddlDebugProp = System.getProperty(DATABASE_DDL_DEBUG_KEY, DEFAULT_DATABASE_DDL_DEBUG); |
| if ("true".equalsIgnoreCase(ddlDebugProp)) { |
| ddlDebug = true; |
| } |
| if (ddlCreate) { |
| runDdl(conn, CREATE_PACKAGE2_PACKAGE, ddlDebug); |
| runDdl(conn, CREATE_PACKAGE2_BODY, ddlDebug); |
| runDdl(conn, CREATE_PACKAGE2_TAB1_TYPE, ddlDebug); |
| runDdl(conn, CREATE_PACKAGE2_ORECORD_TYPE, ddlDebug); |
| runDdl(conn, CREATE_PACKAGE2_TAB2_TYPE, ddlDebug); |
| runDdl(conn, CREATE_PACKAGE2_TAB3_TYPE, ddlDebug); |
| } |
| DBWS_BUILDER_XML_USERNAME = |
| "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + |
| "<dbws-builder xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" + |
| "<properties>" + |
| "<property name=\"projectName\">PLSQLCollection</property>" + |
| "<property name=\"logLevel\">off</property>" + |
| "<property name=\"username\">"; |
| DBWS_BUILDER_XML_PASSWORD = |
| "</property><property name=\"password\">"; |
| DBWS_BUILDER_XML_URL = |
| "</property><property name=\"url\">"; |
| DBWS_BUILDER_XML_DRIVER = |
| "</property><property name=\"driver\">"; |
| DBWS_BUILDER_XML_PLATFORM = |
| "</property><property name=\"platformClassname\">"; |
| DBWS_BUILDER_XML_MAIN = |
| "</property>" + |
| "</properties>" + |
| "<plsql-procedure " + |
| "name=\"CopyTableTest\" " + |
| "catalogPattern=\"PACKAGE2\" " + |
| "procedurePattern=\"COPYTABLE\" " + |
| "/>" + |
| "<plsql-procedure " + |
| "name=\"CopyTableTest2\" " + |
| "catalogPattern=\"PACKAGE2\" " + |
| "procedurePattern=\"COPYTABLE2\" " + |
| "/>" + |
| "<plsql-procedure " + |
| "name=\"CopyBoolTableTest\" " + |
| "catalogPattern=\"PACKAGE2\" " + |
| "procedurePattern=\"COPYBOOLEANTABLE\" " + |
| "/>" + |
| "<plsql-procedure " + |
| "name=\"BoolTabToVarcharTabTest\" " + |
| "catalogPattern=\"PACKAGE2\" " + |
| "procedurePattern=\"BOOLTOVARCHAR\" " + |
| "/>" + |
| "<plsql-procedure " + |
| "name=\"SetRecordTest\" " + |
| "catalogPattern=\"PACKAGE2\" " + |
| "procedurePattern=\"SETRECORD\" " + |
| "/>" + |
| "<plsql-procedure " + |
| "name=\"SetRecordTest2\" " + |
| "catalogPattern=\"PACKAGE2\" " + |
| "procedurePattern=\"SETRECORD2\" " + |
| "returnType=\"package2_tab2Type\" " + // note that returnType is not required |
| "/>" + |
| "</dbws-builder>"; |
| builder = null; |
| DBWSTestSuite.setUp("."); |
| } |
| |
| @AfterClass |
| public static void tearDown() { |
| String ddlDrop = System.getProperty(DATABASE_DDL_DROP_KEY, DEFAULT_DATABASE_DDL_DROP); |
| if ("true".equalsIgnoreCase(ddlDrop)) { |
| runDdl(conn, DROP_PACKAGE2_PACKAGE, ddlDebug); |
| runDdl(conn, DROP_PACKAGE2_TAB1_TYPE, ddlDebug); |
| runDdl(conn, DROP_PACKAGE2_TAB2_TYPE, ddlDebug); |
| runDdl(conn, DROP_PACKAGE2_TAB3_TYPE, ddlDebug); |
| runDdl(conn, DROP_PACKAGE2_ORECORD_TYPE, ddlDebug); |
| } |
| } |
| |
| @Test |
| public void copyTableTest() { |
| XMLUnmarshaller unmarshaller = xrService.getXMLContext().createUnmarshaller(); |
| Object inputTab1 = unmarshaller.unmarshal(new StringReader(TABLE_XML)); |
| Invocation invocation = new Invocation("CopyTableTest"); |
| invocation.setParameter("OLDTAB", inputTab1); |
| Operation op = xrService.getOperation(invocation.getName()); |
| Object result = op.invoke(xrService, invocation); |
| assertNotNull("result is null", result); |
| Document doc = xmlPlatform.createDocument(); |
| XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); |
| marshaller.marshal(result, doc); |
| Document controlDoc = xmlParser.parse(new StringReader(TABLE_XML)); |
| assertTrue("Expected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc)); |
| } |
| public static final String TABLE_XML = |
| STANDALONE_XML_HEADER + |
| "<package2_tab1Type xmlns=\"urn:PLSQLCollection\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + |
| "<item>BLAH</item>" + |
| "</package2_tab1Type>"; |
| |
| @Test |
| public void copyTableTest2() { |
| XMLUnmarshaller unmarshaller = xrService.getXMLContext().createUnmarshaller(); |
| Object inputTab1 = unmarshaller.unmarshal(new StringReader(TABLE_XML)); |
| Invocation invocation = new Invocation("CopyTableTest2"); |
| invocation.setParameter("OLDTAB", inputTab1); |
| Operation op = xrService.getOperation(invocation.getName()); |
| Object result = op.invoke(xrService, invocation); |
| assertNotNull("result is null", result); |
| Document doc = xmlPlatform.createDocument(); |
| XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); |
| marshaller.marshal(result, doc); |
| Document controlDoc = xmlParser.parse(new StringReader(TABLE_XML)); |
| assertTrue("Expected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc)); |
| } |
| |
| @Test |
| public void copyBoolTableTest() { |
| XMLUnmarshaller unmarshaller = xrService.getXMLContext().createUnmarshaller(); |
| Object inputTab = unmarshaller.unmarshal(new StringReader(TABLE3_XML)); |
| Invocation invocation = new Invocation("CopyBoolTableTest"); |
| invocation.setParameter("OLDTAB", inputTab); |
| Operation op = xrService.getOperation(invocation.getName()); |
| Object result = op.invoke(xrService, invocation); |
| assertNotNull("result is null", result); |
| Document doc = xmlPlatform.createDocument(); |
| XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); |
| marshaller.marshal(result, doc); |
| Document controlDoc = xmlParser.parse(new StringReader(TABLE3_XML)); |
| assertTrue("Expected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc)); |
| } |
| public static final String TABLE3_XML = |
| STANDALONE_XML_HEADER + |
| "<package2_tab3Type xmlns=\"urn:PLSQLCollection\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + |
| "<item>1</item>" + |
| "<item>0</item>" + |
| "<item>1</item>" + |
| "<item>0</item>" + |
| "</package2_tab3Type>"; |
| |
| @Test |
| public void boolTabToVarcharTabTest() { |
| XMLUnmarshaller unmarshaller = xrService.getXMLContext().createUnmarshaller(); |
| Object inputTab = unmarshaller.unmarshal(new StringReader(TABLE3_XML)); |
| Invocation invocation = new Invocation("BoolTabToVarcharTabTest"); |
| invocation.setParameter("OLDTAB", inputTab); |
| Operation op = xrService.getOperation(invocation.getName()); |
| Object result = op.invoke(xrService, invocation); |
| assertNotNull("result is null", result); |
| Document doc = xmlPlatform.createDocument(); |
| XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); |
| marshaller.marshal(result, doc); |
| Document controlDoc = xmlParser.parse(new StringReader(TABLE4_XML)); |
| assertTrue("Expected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc)); |
| } |
| public static final String TABLE4_XML = |
| STANDALONE_XML_HEADER + |
| "<package2_tab1Type xmlns=\"urn:PLSQLCollection\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + |
| "<item>true</item>" + |
| "<item>false</item>" + |
| "<item>true</item>" + |
| "<item>false</item>" + |
| "</package2_tab1Type>"; |
| |
| /** |
| * StoredProcedure test. |
| */ |
| @Test |
| public void setRecordTest() { |
| XMLUnmarshaller unmarshaller = xrService.getXMLContext().createUnmarshaller(); |
| Object inputORec = unmarshaller.unmarshal(new StringReader(INPUTORECORD_XML)); |
| Invocation invocation = new Invocation("SetRecordTest"); |
| invocation.setParameter("INREC", inputORec); |
| Operation op = xrService.getOperation(invocation.getName()); |
| Object result = op.invoke(xrService, invocation); |
| assertNotNull("result is null", result); |
| Document doc = xmlPlatform.createDocument(); |
| XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); |
| marshaller.marshal(result, doc); |
| Document controlDoc = xmlParser.parse(new StringReader(OUTPUTTABLE_XML)); |
| assertTrue("Expected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc)); |
| } |
| public static final String INPUTORECORD_XML = |
| STANDALONE_XML_HEADER + |
| "<package2_orecordType xmlns=\"urn:PLSQLCollection\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + |
| "<o1>somedata</o1>" + |
| "<o2>66.6</o2>" + |
| "</package2_orecordType>"; |
| public static final String OUTPUTTABLE_XML = |
| STANDALONE_XML_HEADER + |
| "<package2_tab2Type xmlns=\"urn:PLSQLCollection\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + |
| "<item>" + |
| "<o1>somedata</o1>" + |
| "<o2>66.6</o2>" + |
| "</item>" + |
| "</package2_tab2Type>"; |
| |
| /** |
| * StoredFunction test. |
| */ |
| @Test |
| public void setRecordTest2() { |
| XMLUnmarshaller unmarshaller = xrService.getXMLContext().createUnmarshaller(); |
| Object inputORec = unmarshaller.unmarshal(new StringReader(INPUTORECORD_XML)); |
| Invocation invocation = new Invocation("SetRecordTest2"); |
| invocation.setParameter("INREC", inputORec); |
| Operation op = xrService.getOperation(invocation.getName()); |
| Object result = op.invoke(xrService, invocation); |
| assertNotNull("result is null", result); |
| Document doc = xmlPlatform.createDocument(); |
| XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); |
| marshaller.marshal(result, doc); |
| Document controlDoc = xmlParser.parse(new StringReader(OUTPUTTABLE_XML)); |
| assertTrue("Expected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc)); |
| } |
| |
| /** |
| * WSDL generation test. |
| */ |
| @Test |
| public void testWSDLGeneration() { |
| assertNotNull("No WSDL was generated", DBWS_WSDL_STREAM); |
| Document doc = xmlParser.parse(new StringReader(DBWS_WSDL_STREAM.toString())); |
| removeEmptyTextNodes(doc); |
| Document controlDoc = xmlParser.parse(new StringReader(WSDL_XML)); |
| removeEmptyTextNodes(controlDoc); |
| assertTrue("Expected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc)); |
| } |
| |
| public static final String WSDL_XML = |
| STANDALONE_XML_HEADER + |
| "<wsdl:definitions name=\"PLSQLCollectionService\" targetNamespace=\"urn:PLSQLCollectionService\" xmlns:ns1=\"urn:PLSQLCollection\" xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\" xmlns:tns=\"urn:PLSQLCollectionService\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\">" + |
| "<wsdl:types>" + |
| "<xsd:schema xmlns:tns=\"urn:PLSQLCollectionService\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"urn:PLSQLCollectionService\" elementFormDefault=\"qualified\">" + |
| "<xsd:import schemaLocation=\"eclipselink-dbws-schema.xsd\" namespace=\"urn:PLSQLCollection\"/>" + |
| "<xsd:complexType name=\"SetRecordTestRequestType\"><xsd:sequence><xsd:element name=\"INREC\" type=\"ns1:package2_orecordType\"/></xsd:sequence></xsd:complexType>" + |
| "<xsd:complexType name=\"CopyBoolTableTestResponseType\"><xsd:sequence><xsd:element name=\"result\"><xsd:complexType><xsd:sequence><xsd:element minOccurs=\"0\" ref=\"ns1:package2_tab3Type\"/></xsd:sequence></xsd:complexType></xsd:element></xsd:sequence></xsd:complexType>" + |
| "<xsd:complexType name=\"CopyTableTestResponseType\"><xsd:sequence><xsd:element name=\"result\"><xsd:complexType><xsd:sequence><xsd:element ref=\"ns1:package2_tab1Type\" minOccurs=\"0\"/></xsd:sequence></xsd:complexType></xsd:element></xsd:sequence></xsd:complexType>" + |
| "<xsd:complexType name=\"BoolTabToVarcharTabTestRequestType\"><xsd:sequence><xsd:element name=\"OLDTAB\" type=\"ns1:package2_tab3Type\"/></xsd:sequence></xsd:complexType>" + |
| "<xsd:complexType name=\"CopyTableTest2ResponseType\"><xsd:sequence><xsd:element name=\"result\"><xsd:complexType><xsd:sequence><xsd:element ref=\"ns1:package2_tab1Type\" minOccurs=\"0\"/></xsd:sequence></xsd:complexType></xsd:element></xsd:sequence></xsd:complexType>" + |
| "<xsd:complexType name=\"SetRecordTest2RequestType\"><xsd:sequence><xsd:element name=\"INREC\" type=\"ns1:package2_orecordType\"/></xsd:sequence></xsd:complexType>" + |
| "<xsd:complexType name=\"CopyTableTestRequestType\"><xsd:sequence><xsd:element name=\"OLDTAB\" type=\"ns1:package2_tab1Type\"/></xsd:sequence></xsd:complexType>" + |
| "<xsd:complexType name=\"BoolTabToVarcharTabTestResponseType\"><xsd:sequence><xsd:element name=\"result\"><xsd:complexType><xsd:sequence><xsd:element minOccurs=\"0\" ref=\"ns1:package2_tab1Type\"/></xsd:sequence></xsd:complexType></xsd:element></xsd:sequence></xsd:complexType>" + |
| "<xsd:complexType name=\"SetRecordTestResponseType\"><xsd:sequence><xsd:element name=\"result\"><xsd:complexType><xsd:sequence><xsd:element ref=\"ns1:package2_tab2Type\" minOccurs=\"0\"/></xsd:sequence></xsd:complexType></xsd:element></xsd:sequence></xsd:complexType>" + |
| "<xsd:complexType name=\"CopyTableTest2RequestType\"><xsd:sequence><xsd:element name=\"OLDTAB\" type=\"ns1:package2_tab1Type\"/></xsd:sequence></xsd:complexType>" + |
| "<xsd:complexType name=\"SetRecordTest2ResponseType\"><xsd:sequence><xsd:element name=\"result\"><xsd:complexType><xsd:sequence><xsd:element ref=\"ns1:package2_tab2Type\" minOccurs=\"0\"/></xsd:sequence></xsd:complexType></xsd:element></xsd:sequence></xsd:complexType>" + |
| "<xsd:complexType name=\"CopyBoolTableTestRequestType\"><xsd:sequence><xsd:element name=\"OLDTAB\" type=\"ns1:package2_tab3Type\"/></xsd:sequence></xsd:complexType>" + |
| "<xsd:element name=\"CopyTableTestResponse\" type=\"tns:CopyTableTestResponseType\"/>" + |
| "<xsd:element name=\"CopyBoolTableTestResponse\" type=\"tns:CopyBoolTableTestResponseType\"/>" + |
| "<xsd:element name=\"CopyTableTest\" type=\"tns:CopyTableTestRequestType\"/>" + |
| "<xsd:element name=\"SetRecordTest\" type=\"tns:SetRecordTestRequestType\"/>" + |
| "<xsd:element name=\"CopyTableTest2Response\" type=\"tns:CopyTableTest2ResponseType\"/>" + |
| "<xsd:element name=\"SetRecordTest2\" type=\"tns:SetRecordTest2RequestType\"/>" + |
| "<xsd:element name=\"BoolTabToVarcharTabTestResponse\" type=\"tns:BoolTabToVarcharTabTestResponseType\"/>" + |
| "<xsd:element name=\"SetRecordTest2Response\" type=\"tns:SetRecordTest2ResponseType\"/>" + |
| "<xsd:element name=\"SetRecordTestResponse\" type=\"tns:SetRecordTestResponseType\"/>" + |
| "<xsd:element name=\"BoolTabToVarcharTabTest\" type=\"tns:BoolTabToVarcharTabTestRequestType\"/>" + |
| "<xsd:element name=\"CopyBoolTableTest\" type=\"tns:CopyBoolTableTestRequestType\"/>" + |
| "<xsd:element name=\"CopyTableTest2\" type=\"tns:CopyTableTest2RequestType\"/>" + |
| "</xsd:schema>" + |
| "</wsdl:types>" + |
| "<wsdl:message name=\"SetRecordTest2Response\">" + |
| "<wsdl:part name=\"SetRecordTest2Response\" element=\"tns:SetRecordTest2Response\">" + |
| "</wsdl:part>" + |
| "</wsdl:message>" + |
| "<wsdl:message name=\"BoolTabToVarcharTabTestResponse\">" + |
| "<wsdl:part element=\"tns:BoolTabToVarcharTabTestResponse\" name=\"BoolTabToVarcharTabTestResponse\">" + |
| "</wsdl:part>" + |
| "</wsdl:message>" + |
| "<wsdl:message name=\"SetRecordTestRequest\">" + |
| "<wsdl:part name=\"SetRecordTestRequest\" element=\"tns:SetRecordTest\">" + |
| "</wsdl:part>" + |
| "</wsdl:message>" + |
| "<wsdl:message name=\"BoolTabToVarcharTabTestRequest\">" + |
| "<wsdl:part element=\"tns:BoolTabToVarcharTabTest\" name=\"BoolTabToVarcharTabTestRequest\">" + |
| "</wsdl:part>" + |
| "</wsdl:message>" + |
| "<wsdl:message name=\"SetRecordTestResponse\">" + |
| "<wsdl:part name=\"SetRecordTestResponse\" element=\"tns:SetRecordTestResponse\">" + |
| "</wsdl:part>" + |
| "</wsdl:message>" + |
| "<wsdl:message name=\"CopyBoolTableTestResponse\">" + |
| "<wsdl:part element=\"tns:CopyBoolTableTestResponse\" name=\"CopyBoolTableTestResponse\">" + |
| "</wsdl:part>" + |
| "</wsdl:message>" + |
| "<wsdl:message name=\"CopyTableTestRequest\">" + |
| "<wsdl:part name=\"CopyTableTestRequest\" element=\"tns:CopyTableTest\">" + |
| "</wsdl:part>" + |
| "</wsdl:message>" + |
| "<wsdl:message name=\"CopyTableTestResponse\">" + |
| "<wsdl:part name=\"CopyTableTestResponse\" element=\"tns:CopyTableTestResponse\">" + |
| "</wsdl:part>" + |
| "</wsdl:message>" + |
| "<wsdl:message name=\"CopyTableTest2Response\">" + |
| "<wsdl:part name=\"CopyTableTest2Response\" element=\"tns:CopyTableTest2Response\">" + |
| "</wsdl:part>" + |
| "</wsdl:message>" + |
| "<wsdl:message name=\"CopyTableTest2Request\">" + |
| "<wsdl:part name=\"CopyTableTest2Request\" element=\"tns:CopyTableTest2\">" + |
| "</wsdl:part>" + |
| "</wsdl:message>" + |
| "<wsdl:message name=\"CopyBoolTableTestRequest\">" + |
| "<wsdl:part element=\"tns:CopyBoolTableTest\" name=\"CopyBoolTableTestRequest\">" + |
| "</wsdl:part>" + |
| "</wsdl:message>" + |
| "<wsdl:message name=\"SetRecordTest2Request\">" + |
| "<wsdl:part name=\"SetRecordTest2Request\" element=\"tns:SetRecordTest2\">" + |
| "</wsdl:part>" + |
| "</wsdl:message>" + |
| "<wsdl:portType name=\"PLSQLCollectionService_Interface\">" + |
| "<wsdl:operation name=\"CopyTableTest\">" + |
| "<wsdl:input message=\"tns:CopyTableTestRequest\">" + |
| "</wsdl:input>" + |
| "<wsdl:output message=\"tns:CopyTableTestResponse\">" + |
| "</wsdl:output>" + |
| "</wsdl:operation>" + |
| "<wsdl:operation name=\"SetRecordTest\">" + |
| "<wsdl:input message=\"tns:SetRecordTestRequest\">" + |
| "</wsdl:input>" + |
| "<wsdl:output message=\"tns:SetRecordTestResponse\">" + |
| "</wsdl:output>" + |
| "</wsdl:operation>" + |
| "<wsdl:operation name=\"SetRecordTest2\">" + |
| "<wsdl:input message=\"tns:SetRecordTest2Request\">" + |
| "</wsdl:input>" + |
| "<wsdl:output message=\"tns:SetRecordTest2Response\">" + |
| "</wsdl:output>" + |
| "</wsdl:operation>" + |
| "<wsdl:operation name=\"BoolTabToVarcharTabTest\">" + |
| "<wsdl:input message=\"tns:BoolTabToVarcharTabTestRequest\">" + |
| "</wsdl:input>" + |
| "<wsdl:output message=\"tns:BoolTabToVarcharTabTestResponse\">" + |
| "</wsdl:output>" + |
| "</wsdl:operation>" + |
| "<wsdl:operation name=\"CopyBoolTableTest\">" + |
| "<wsdl:input message=\"tns:CopyBoolTableTestRequest\">" + |
| "</wsdl:input>" + |
| "<wsdl:output message=\"tns:CopyBoolTableTestResponse\">" + |
| "</wsdl:output>" + |
| "</wsdl:operation>" + |
| "<wsdl:operation name=\"CopyTableTest2\">" + |
| "<wsdl:input message=\"tns:CopyTableTest2Request\">" + |
| "</wsdl:input>" + |
| "<wsdl:output message=\"tns:CopyTableTest2Response\">" + |
| "</wsdl:output>" + |
| "</wsdl:operation>" + |
| "</wsdl:portType>" + |
| "<wsdl:binding name=\"PLSQLCollectionService_SOAP_HTTP\" type=\"tns:PLSQLCollectionService_Interface\">" + |
| "<soap:binding style=\"document\" transport=\"http://schemas.xmlsoap.org/soap/http\"/>" + |
| "<wsdl:operation name=\"CopyTableTest\">" + |
| "<soap:operation soapAction=\"urn:PLSQLCollectionService:CopyTableTest\"/>" + |
| "<wsdl:input>" + |
| "<soap:body use=\"literal\"/>" + |
| "</wsdl:input>" + |
| "<wsdl:output>" + |
| "<soap:body use=\"literal\"/>" + |
| "</wsdl:output>" + |
| "</wsdl:operation>" + |
| "<wsdl:operation name=\"SetRecordTest\">" + |
| "<soap:operation soapAction=\"urn:PLSQLCollectionService:SetRecordTest\"/>" + |
| "<wsdl:input>" + |
| "<soap:body use=\"literal\"/>" + |
| "</wsdl:input>" + |
| "<wsdl:output>" + |
| "<soap:body use=\"literal\"/>" + |
| "</wsdl:output>" + |
| "</wsdl:operation>" + |
| "<wsdl:operation name=\"SetRecordTest2\">" + |
| "<soap:operation soapAction=\"urn:PLSQLCollectionService:SetRecordTest2\"/>" + |
| "<wsdl:input>" + |
| "<soap:body use=\"literal\"/>" + |
| "</wsdl:input>" + |
| "<wsdl:output>" + |
| "<soap:body use=\"literal\"/>" + |
| "</wsdl:output>" + |
| "</wsdl:operation>" + |
| "<wsdl:operation name=\"BoolTabToVarcharTabTest\">" + |
| "<soap:operation soapAction=\"urn:PLSQLCollectionService:BoolTabToVarcharTabTest\"/>" + |
| "<wsdl:input>" + |
| "<soap:body use=\"literal\"/>" + |
| "</wsdl:input>" + |
| "<wsdl:output>" + |
| "<soap:body use=\"literal\"/>" + |
| "</wsdl:output>" + |
| "</wsdl:operation>" + |
| "<wsdl:operation name=\"CopyBoolTableTest\">" + |
| "<soap:operation soapAction=\"urn:PLSQLCollectionService:CopyBoolTableTest\"/>" + |
| "<wsdl:input>" + |
| "<soap:body use=\"literal\"/>" + |
| "</wsdl:input>" + |
| "<wsdl:output>" + |
| "<soap:body use=\"literal\"/>" + |
| "</wsdl:output>" + |
| "</wsdl:operation>" + |
| "<wsdl:operation name=\"CopyTableTest2\">" + |
| "<soap:operation soapAction=\"urn:PLSQLCollectionService:CopyTableTest2\"/>" + |
| "<wsdl:input>" + |
| "<soap:body use=\"literal\"/>" + |
| "</wsdl:input>" + |
| "<wsdl:output>" + |
| "<soap:body use=\"literal\"/>" + |
| "</wsdl:output>" + |
| "</wsdl:operation>" + |
| "</wsdl:binding>" + |
| "<wsdl:service name=\"PLSQLCollectionService\">" + |
| "<wsdl:port name=\"PLSQLCollectionServicePort\" binding=\"tns:PLSQLCollectionService_SOAP_HTTP\">" + |
| "<soap:address location=\"REPLACE_WITH_ENDPOINT_ADDRESS\"/>" + |
| "</wsdl:port>" + |
| "</wsdl:service>" + |
| "</wsdl:definitions>"; |
| |
| |
| } |