require 'soap/rpc/driver'

class PoolPort < ::SOAP::RPC::Driver
  DefaultEndpointUrl = "https://admin_server:9090/soap"
  NsPool = "http://soap.zeus.com/zxtm/1.0/Pool/"

  Methods = [
    [ XSD::QName.new(NsPool, "addDrainingNodes"),
      "http://soap.zeus.com/zxtm/1.0/Pool/addDrainingNodes",
      "addDrainingNodes",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "addMonitors"),
      "http://soap.zeus.com/zxtm/1.0/Pool/addMonitors",
      "addMonitors",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "addNodes"),
      "http://soap.zeus.com/zxtm/1.0/Pool/addNodes",
      "addNodes",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "addPool"),
      "http://soap.zeus.com/zxtm/1.0/Pool/addPool",
      "addPool",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "nodes", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "copyPool"),
      "http://soap.zeus.com/zxtm/1.0/Pool/copyPool",
      "copyPool",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "new_names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "deletePool"),
      "http://soap.zeus.com/zxtm/1.0/Pool/deletePool",
      "deletePool",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getBandwidthClass"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getBandwidthClass",
      "getBandwidthClass",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getDrainingNodes"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getDrainingNodes",
      "getDrainingNodes",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getErrorFile"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getErrorFile",
      "getErrorFile",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getFTPSupportRfc2428"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getFTPSupportRfc2428",
      "getFTPSupportRfc2428",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getFailpool"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getFailpool",
      "getFailpool",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getKeepalive"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getKeepalive",
      "getKeepalive",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getLoadBalancingAlgorithm"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getLoadBalancingAlgorithm",
      "getLoadBalancingAlgorithm",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["PoolLoadBalancingAlgorithmArray", "http://soap.zeus.com/zxtm/1.0/", "Pool.LoadBalancingAlgorithmArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getMaxConnectTime"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getMaxConnectTime",
      "getMaxConnectTime",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["UnsignedIntArray", "http://soap.zeus.com/zxtm/1.0/", "unsignedIntArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getMaxIdleConnectionsPerNode"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getMaxIdleConnectionsPerNode",
      "getMaxIdleConnectionsPerNode",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["UnsignedIntArray", "http://soap.zeus.com/zxtm/1.0/", "unsignedIntArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getMaxReplyTime"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getMaxReplyTime",
      "getMaxReplyTime",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["UnsignedIntArray", "http://soap.zeus.com/zxtm/1.0/", "unsignedIntArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getMonitors"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getMonitors",
      "getMonitors",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getNodes"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getNodes",
      "getNodes",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getNodesConnectionCounts"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getNodesConnectionCounts",
      "getNodesConnectionCounts",
      [ ["in", "nodes", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "nodes_connection_counts", ["IntArray", "http://soap.zeus.com/zxtm/1.0/", "intArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getNodesLastUsed"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getNodesLastUsed",
      "getNodesLastUsed",
      [ ["in", "nodes", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "nodes_last_used", ["IntArray", "http://soap.zeus.com/zxtm/1.0/", "intArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getNodesPriorityValue"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getNodesPriorityValue",
      "getNodesPriorityValue",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "nodes", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]],
        ["retval", "node_values", ["PoolPriorityValueDefinitionArrayArray", "http://soap.zeus.com/zxtm/1.0/", "Pool.PriorityValueDefinitionArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getNodesWeightings"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getNodesWeightings",
      "getNodesWeightings",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "nodes", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]],
        ["retval", "node_values", ["PoolWeightingsDefinitionArrayArray", "http://soap.zeus.com/zxtm/1.0/", "Pool.WeightingsDefinitionArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getPassiveMonitoring"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getPassiveMonitoring",
      "getPassiveMonitoring",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getPersistence"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getPersistence",
      "getPersistence",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getPoolNames"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getPoolNames",
      "getPoolNames",
      [ ["retval", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getPriorityEnabled"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getPriorityEnabled",
      "getPriorityEnabled",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getPriorityNodes"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getPriorityNodes",
      "getPriorityNodes",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["UnsignedIntArray", "http://soap.zeus.com/zxtm/1.0/", "unsignedIntArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getPriorityValues"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getPriorityValues",
      "getPriorityValues",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "node_values", ["PoolPriorityValueDefinitionArrayArray", "http://soap.zeus.com/zxtm/1.0/", "Pool.PriorityValueDefinitionArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getSMTPSendStartTLS"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getSMTPSendStartTLS",
      "getSMTPSendStartTLS",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getSSLClientAuth"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getSSLClientAuth",
      "getSSLClientAuth",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getSSLEncrypt"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getSSLEncrypt",
      "getSSLEncrypt",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getSSLEnhance"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getSSLEnhance",
      "getSSLEnhance",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getSSLSendCloseAlerts"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getSSLSendCloseAlerts",
      "getSSLSendCloseAlerts",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getSSLServerNameExtension"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getSSLServerNameExtension",
      "getSSLServerNameExtension",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getSSLStrictVerify"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getSSLStrictVerify",
      "getSSLStrictVerify",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getTransparent"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getTransparent",
      "getTransparent",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getWeightings"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getWeightings",
      "getWeightings",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "node_values", ["PoolWeightingsDefinitionArrayArray", "http://soap.zeus.com/zxtm/1.0/", "Pool.WeightingsDefinitionArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "removeDrainingNodes"),
      "http://soap.zeus.com/zxtm/1.0/Pool/removeDrainingNodes",
      "removeDrainingNodes",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "removeMonitors"),
      "http://soap.zeus.com/zxtm/1.0/Pool/removeMonitors",
      "removeMonitors",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "removeNodes"),
      "http://soap.zeus.com/zxtm/1.0/Pool/removeNodes",
      "removeNodes",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "renamePool"),
      "http://soap.zeus.com/zxtm/1.0/Pool/renamePool",
      "renamePool",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "new_names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setBandwidthClass"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setBandwidthClass",
      "setBandwidthClass",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setDrainingNodes"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setDrainingNodes",
      "setDrainingNodes",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setErrorFile"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setErrorFile",
      "setErrorFile",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setFTPSupportRfc2428"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setFTPSupportRfc2428",
      "setFTPSupportRfc2428",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setFailpool"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setFailpool",
      "setFailpool",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setKeepalive"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setKeepalive",
      "setKeepalive",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setLoadBalancingAlgorithm"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setLoadBalancingAlgorithm",
      "setLoadBalancingAlgorithm",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["PoolLoadBalancingAlgorithmArray", "http://soap.zeus.com/zxtm/1.0/", "Pool.LoadBalancingAlgorithmArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setMaxConnectTime"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setMaxConnectTime",
      "setMaxConnectTime",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["UnsignedIntArray", "http://soap.zeus.com/zxtm/1.0/", "unsignedIntArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setMaxIdleConnectionsPerNode"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setMaxIdleConnectionsPerNode",
      "setMaxIdleConnectionsPerNode",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["UnsignedIntArray", "http://soap.zeus.com/zxtm/1.0/", "unsignedIntArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setMaxReplyTime"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setMaxReplyTime",
      "setMaxReplyTime",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["UnsignedIntArray", "http://soap.zeus.com/zxtm/1.0/", "unsignedIntArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setMonitors"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setMonitors",
      "setMonitors",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setNodes"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setNodes",
      "setNodes",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setNodesPriorityValue"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setNodesPriorityValue",
      "setNodesPriorityValue",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "node_values", ["PoolPriorityValueDefinitionArrayArray", "http://soap.zeus.com/zxtm/1.0/", "Pool.PriorityValueDefinitionArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setNodesWeightings"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setNodesWeightings",
      "setNodesWeightings",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "nodes_values", ["PoolWeightingsDefinitionArrayArray", "http://soap.zeus.com/zxtm/1.0/", "Pool.WeightingsDefinitionArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setPassiveMonitoring"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setPassiveMonitoring",
      "setPassiveMonitoring",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setPersistence"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setPersistence",
      "setPersistence",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setPriorityEnabled"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setPriorityEnabled",
      "setPriorityEnabled",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setPriorityNodes"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setPriorityNodes",
      "setPriorityNodes",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["UnsignedIntArray", "http://soap.zeus.com/zxtm/1.0/", "unsignedIntArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setSMTPSendStartTLS"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setSMTPSendStartTLS",
      "setSMTPSendStartTLS",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setSSLClientAuth"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setSSLClientAuth",
      "setSSLClientAuth",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setSSLEncrypt"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setSSLEncrypt",
      "setSSLEncrypt",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setSSLEnhance"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setSSLEnhance",
      "setSSLEnhance",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setSSLSendCloseAlerts"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setSSLSendCloseAlerts",
      "setSSLSendCloseAlerts",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setSSLServerNameExtension"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setSSLServerNameExtension",
      "setSSLServerNameExtension",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setSSLStrictVerify"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setSSLStrictVerify",
      "setSSLStrictVerify",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "setTransparent"),
      "http://soap.zeus.com/zxtm/1.0/Pool/setTransparent",
      "setTransparent",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["BooleanArray", "http://soap.zeus.com/zxtm/1.0/", "booleanArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "getDisabledNodes"),
      "http://soap.zeus.com/zxtm/1.0/Pool/getDisabledNodes",
      "getDisabledNodes",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["retval", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "disableNodes"),
      "http://soap.zeus.com/zxtm/1.0/Pool/disableNodes",
      "disableNodes",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ],
    [ XSD::QName.new(NsPool, "enableNodes"),
      "http://soap.zeus.com/zxtm/1.0/Pool/enableNodes",
      "enableNodes",
      [ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
        ["in", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
      { :request_style =>  :rpc, :request_use =>  :encoded,
        :response_style => :rpc, :response_use => :encoded,
        :faults => {} }
    ]
  ]

  def initialize(endpoint_url = nil)
    endpoint_url ||= DefaultEndpointUrl
    super(endpoint_url, nil)
    self.mapping_registry = PoolMappingRegistry::EncodedRegistry
    self.literal_mapping_registry = PoolMappingRegistry::LiteralRegistry
    init_methods
  end

private

  def init_methods
    Methods.each do |definitions|
      opt = definitions.last
      if opt[:request_style] == :document
        add_document_operation(*definitions)
      else
        add_rpc_operation(*definitions)
        qname = definitions[0]
        name = definitions[2]
        if qname.name != name and qname.name.capitalize == name.capitalize
          ::SOAP::Mapping.define_singleton_method(self, qname.name) do |*arg|
            __send__(name, *arg)
          end
        end
      end
    end
  end
end

