//Generated by wsdl2apex

public class Genze_Webservice {
    public class OutputParameter {
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{};
    }
    public class ArrayOfOutputParameter {
        public Genze_Webservice.OutputParameter[] OutputParameter;
        private String[] OutputParameter_type_info = new String[]{'OutputParameter','http://www.plexus-online.com/DataSource',null,'0','-1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'OutputParameter'};
    }
    public class BaseResult {
        public Integer StatusNo;
        public Boolean Error;
        public Integer ErrorNo;
        public String Message;
        public String InstanceNo;
        private String[] StatusNo_type_info = new String[]{'StatusNo','http://www.plexus-online.com/DataSource',null,'1','1','false'};
        private String[] Error_type_info = new String[]{'Error','http://www.plexus-online.com/DataSource',null,'1','1','false'};
        private String[] ErrorNo_type_info = new String[]{'ErrorNo','http://www.plexus-online.com/DataSource',null,'1','1','false'};
        private String[] Message_type_info = new String[]{'Message','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] InstanceNo_type_info = new String[]{'InstanceNo','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'StatusNo','Error','ErrorNo','Message','InstanceNo'};
    }
    public class ExecuteDataSourcePostResponse_element {
        public Genze_Webservice.ExecuteDataSourceResult ExecuteDataSourcePostResult;
        private String[] ExecuteDataSourcePostResult_type_info = new String[]{'ExecuteDataSourcePostResult','http://www.plexus-online.com/DataSource',null,'1','1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'ExecuteDataSourcePostResult'};
    }
    public class ExecuteDataSourceByDataSourceKeyResponse_element {
        public Genze_Webservice.ExecuteDataSourceResult ExecuteDataSourceByDataSourceKeyResult;
        private String[] ExecuteDataSourceByDataSourceKeyResult_type_info = new String[]{'ExecuteDataSourceByDataSourceKeyResult','http://www.plexus-online.com/DataSource',null,'1','1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'ExecuteDataSourceByDataSourceKeyResult'};
    }
    public class ArrayOfInputParameter {
        public Genze_Webservice.InputParameter InputParameter;
        private String[] InputParameter_type_info = new String[]{'InputParameter','http://www.plexus-online.com/DataSource',null,'0','-1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'InputParameter'};
    }
    public class ArrayOfResultSet {
        public Genze_Webservice.ResultSet[] ResultSet;
        private String[] ResultSet_type_info = new String[]{'ResultSet','http://www.plexus-online.com/DataSource',null,'0','-1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'ResultSet'};
    }
    public class ArrayOfColumn {
        public Genze_Webservice.Column[] Column;
        private String[] Column_type_info = new String[]{'Column','http://www.plexus-online.com/DataSource',null,'0','-1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'Column'};
    }
    public class ExecuteDataSourceByDataSourceKey_element {
        public Integer dataSourceKey;
        private String[] dataSourceKey_type_info = new String[]{'dataSourceKey','http://www.plexus-online.com/DataSource',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'dataSourceKey'};
    }
    public class ExecuteDataSource_element {
        public Genze_Webservice.ExecuteDataSourceRequest ExecuteDataSourceRequest;
        private String[] ExecuteDataSourceRequest_type_info = new String[]{'ExecuteDataSourceRequest','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'ExecuteDataSourceRequest'};
    }
    public class ExecuteDataSourceRequest {
        public String DataSourceKey;
        public Genze_Webservice.ArrayOfInputParameter InputParameters;
        public String DataSourceName;
        public String DataBase;
        private String[] DataSourceKey_type_info = new String[]{'DataSourceKey','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] InputParameters_type_info = new String[]{'InputParameters','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] DataSourceName_type_info = new String[]{'DataSourceName','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] DataBase_type_info = new String[]{'DataBase','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'DataSourceKey','InputParameters','DataSourceName','DataBase'};
    }
    public class ArrayOfRow {
        public Genze_Webservice.Row[] Row;
        private String[] Row_type_info = new String[]{'Row','http://www.plexus-online.com/DataSource',null,'0','-1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'Row'};
    }
    public class ExecuteDataSourceResponse_element {
        public Genze_Webservice.ExecuteDataSourceResult ExecuteDataSourceResult;
        private String[] ExecuteDataSourceResult_type_info = new String[]{'ExecuteDataSourceResult','http://www.plexus-online.com/DataSource',null,'1','1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'ExecuteDataSourceResult'};
    }
    public class Column {
        public String Value;
        public String Name;
        private String[] Value_type_info = new String[]{'Value','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] Name_type_info = new String[]{'Name','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'Value','Name'};
    }
    public class GetTemplateResult {
        public Genze_Webservice.ExecuteDataSourceRequest ExecuteDataSourceRequest;
        public Genze_Webservice.ArrayOfResultSet ResultSets;
        private String[] ExecuteDataSourceRequest_type_info = new String[]{'ExecuteDataSourceRequest','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] ResultSets_type_info = new String[]{'ResultSets','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'ExecuteDataSourceRequest','ResultSets'};
    }
    public class ResultSet {
        public Integer RowCount;
        public Genze_Webservice.ArrayOfRow Rows;
        private String[] RowCount_type_info = new String[]{'RowCount','http://www.plexus-online.com/DataSource',null,'1','1','false'};
        private String[] Rows_type_info = new String[]{'Rows','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'RowCount','Rows'};
    }
    public class Parameter {
        public String Value;
        public String Name;
        private String[] Value_type_info = new String[]{'Value','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] Name_type_info = new String[]{'Name','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'Value','Name'};
    }
    public class Row {
        public Genze_Webservice.ArrayOfColumn Columns;
        private String[] Columns_type_info = new String[]{'Columns','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'Columns'};
    }
    public class GetDataSourceRequestTemplateResponse_element {
        public Genze_Webservice.GetTemplateResult GetDataSourceRequestTemplateResult;
        private String[] GetDataSourceRequestTemplateResult_type_info = new String[]{'GetDataSourceRequestTemplateResult','http://www.plexus-online.com/DataSource',null,'1','1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'GetDataSourceRequestTemplateResult'};
    }
    public class ExecuteDataSourcePost_element {
        public Integer dataSourceKey;
        public String parameterNames;
        public String parameterValues;
        public String delimeter;
        private String[] dataSourceKey_type_info = new String[]{'dataSourceKey','http://www.plexus-online.com/DataSource',null,'1','1','false'};
        private String[] parameterNames_type_info = new String[]{'parameterNames','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] parameterValues_type_info = new String[]{'parameterValues','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] delimeter_type_info = new String[]{'delimeter','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'dataSourceKey','parameterNames','parameterValues','delimeter'};
    }
    public class InputParameter {
        public Boolean Required;
        public Boolean Output;
        public String DefaultValue;
        public String Message;
        private String[] Required_type_info = new String[]{'Required','http://www.plexus-online.com/DataSource',null,'1','1','false'};
        private String[] Output_type_info = new String[]{'Output','http://www.plexus-online.com/DataSource',null,'1','1','false'};
        private String[] DefaultValue_type_info = new String[]{'DefaultValue','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] Message_type_info = new String[]{'Message','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'Required','Output','DefaultValue','Message'};
    }
    public class ExecuteDataSourceResult {
        public Integer DataSourceKey;
        public Boolean QuarantinedForDevelopment;
        public DateTime LastPrimaryDeployment;
        public DateTime LastTestDeployment;
        public Integer Version;
        public String DataSourceName;
        public Genze_Webservice.ArrayOfResultSet ResultSets;
        public Genze_Webservice.ArrayOfOutputParameter OutputParameters;
        private String[] DataSourceKey_type_info = new String[]{'DataSourceKey','http://www.plexus-online.com/DataSource',null,'1','1','false'};
        private String[] QuarantinedForDevelopment_type_info = new String[]{'QuarantinedForDevelopment','http://www.plexus-online.com/DataSource',null,'1','1','true'};
        private String[] LastPrimaryDeployment_type_info = new String[]{'LastPrimaryDeployment','http://www.plexus-online.com/DataSource',null,'1','1','true'};
        private String[] LastTestDeployment_type_info = new String[]{'LastTestDeployment','http://www.plexus-online.com/DataSource',null,'1','1','true'};
        private String[] Version_type_info = new String[]{'Version','http://www.plexus-online.com/DataSource',null,'1','1','true'};
        private String[] DataSourceName_type_info = new String[]{'DataSourceName','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] ResultSets_type_info = new String[]{'ResultSets','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] OutputParameters_type_info = new String[]{'OutputParameters','http://www.plexus-online.com/DataSource',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'DataSourceKey','QuarantinedForDevelopment','LastPrimaryDeployment','LastTestDeployment','Version','DataSourceName','ResultSets','OutputParameters'};
    }
    public class GetDataSourceRequestTemplate_element {
        public Integer dataSourceKey;
        private String[] dataSourceKey_type_info = new String[]{'dataSourceKey','http://www.plexus-online.com/DataSource',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.plexus-online.com/DataSource','true','false'};
        private String[] field_order_type_info = new String[]{'dataSourceKey'};
    }
    public class ServiceSoap {
        public String endpoint_x = 'https://hermes.plexus-online.com/DATASOURCE/SERVICE.ASMX';
        public Map<String,String> inputHttpHeaders_x;
        public Map<String,String> outputHttpHeaders_x;
        public String clientCertName_x;
        public String clientCert_x;
        public String clientCertPasswd_x;
        public Integer timeout_x;
        private String[] ns_map_type_info = new String[]{'http://www.plexus-online.com/DataSource', 'Genze_Webservice'};
        public Genze_Webservice.ExecuteDataSourceResult ExecuteDataSourceByDataSourceKey(Integer dataSourceKey) {
            Genze_Webservice.ExecuteDataSourceByDataSourceKey_element request_x = new Genze_Webservice.ExecuteDataSourceByDataSourceKey_element();
            request_x.dataSourceKey = dataSourceKey;
            Genze_Webservice.ExecuteDataSourceByDataSourceKeyResponse_element response_x;
            Map<String, Genze_Webservice.ExecuteDataSourceByDataSourceKeyResponse_element> response_map_x = new Map<String, Genze_Webservice.ExecuteDataSourceByDataSourceKeyResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.plexus-online.com/DataSource/ExecuteDataSourceByDataSourceKey',
              'http://www.plexus-online.com/DataSource',
              'ExecuteDataSourceByDataSourceKey',
              'http://www.plexus-online.com/DataSource',
              'ExecuteDataSourceByDataSourceKeyResponse',
              'Genze_Webservice.ExecuteDataSourceByDataSourceKeyResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.ExecuteDataSourceByDataSourceKeyResult;
        }
        public Genze_Webservice.ExecuteDataSourceResult ExecuteDataSourcePost(Integer dataSourceKey,String parameterNames,String parameterValues,String delimeter) {
            Genze_Webservice.ExecuteDataSourcePost_element request_x = new Genze_Webservice.ExecuteDataSourcePost_element();
            request_x.dataSourceKey = dataSourceKey;
            request_x.parameterNames = parameterNames;
            request_x.parameterValues = parameterValues;
            request_x.delimeter = delimeter;
            Genze_Webservice.ExecuteDataSourcePostResponse_element response_x;
            Map<String, Genze_Webservice.ExecuteDataSourcePostResponse_element> response_map_x = new Map<String, Genze_Webservice.ExecuteDataSourcePostResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.plexus-online.com/DataSource/ExecuteDataSourcePost',
              'http://www.plexus-online.com/DataSource',
              'ExecuteDataSourcePost',
              'http://www.plexus-online.com/DataSource',
              'ExecuteDataSourcePostResponse',
              'Genze_Webservice.ExecuteDataSourcePostResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.ExecuteDataSourcePostResult;
        }
        public Genze_Webservice.GetTemplateResult GetDataSourceRequestTemplate(Integer dataSourceKey) {
            Genze_Webservice.GetDataSourceRequestTemplate_element request_x = new Genze_Webservice.GetDataSourceRequestTemplate_element();
            request_x.dataSourceKey = dataSourceKey;
            Genze_Webservice.GetDataSourceRequestTemplateResponse_element response_x;
            Map<String, Genze_Webservice.GetDataSourceRequestTemplateResponse_element> response_map_x = new Map<String, Genze_Webservice.GetDataSourceRequestTemplateResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.plexus-online.com/DataSource/GetDataSourceRequestTemplate',
              'http://www.plexus-online.com/DataSource',
              'GetDataSourceRequestTemplate',
              'http://www.plexus-online.com/DataSource',
              'GetDataSourceRequestTemplateResponse',
              'Genze_Webservice.GetDataSourceRequestTemplateResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetDataSourceRequestTemplateResult;
        }
        public Genze_Webservice.ExecuteDataSourceResult ExecuteDataSource(Genze_Webservice.ExecuteDataSourceRequest ExecuteDataSourceRequest) {
            Genze_Webservice.ExecuteDataSource_element request_x = new Genze_Webservice.ExecuteDataSource_element();
            request_x.ExecuteDataSourceRequest = ExecuteDataSourceRequest;
            Genze_Webservice.ExecuteDataSourceResponse_element response_x;
            Map<String, Genze_Webservice.ExecuteDataSourceResponse_element> response_map_x = new Map<String, Genze_Webservice.ExecuteDataSourceResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.plexus-online.com/DataSource/ExecuteDataSource',
              'http://www.plexus-online.com/DataSource',
              'ExecuteDataSource',
              'http://www.plexus-online.com/DataSource',
              'ExecuteDataSourceResponse',
              'Genze_Webservice.ExecuteDataSourceResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.ExecuteDataSourceResult;
        }
    }
}