def __init__(self, wsdl, url=None, service=None, port=None,<EOL>cachedir=os.path.join(os.path.expanduser('<STR_LIT>'), '<STR_LIT>'), <EOL>asdict=True, lazy=False, pyclass=False, force=False, **kw):
self._asdict = asdict<EOL>self._url = url<EOL>self._kw = kw<EOL>self._wsdl = wstools.WSDLTools.WSDLReader().loadFromURL(wsdl)<EOL>self._service = self._wsdl.services[service or <NUM_LIT:0>]<EOL>self.__doc__ = self._service.documentation<EOL>self._port = self._service.ports[port or <NUM_LIT:0>]<EOL>self._name = self._service.name<EOL>self._methods = {}<EOL>self._cachedir = cachedir<EOL>self._lazy = lazy<EOL>self._pyclass = pyclass<EOL>self._force = force<EOL>port = self._port<EOL>binding = port.getBinding()<EOL>portType = binding.getPortType()<EOL>for port in self._service.ports:<EOL><INDENT>for item in port.getPortType().operations:<EOL><INDENT>try:<EOL><INDENT>callinfo = wstools.WSDLTools.callInfoFromWSDL(port, item.name)<EOL><DEDENT>except:<EOL><INDENT>continue<EOL><DEDENT>method = MethodProxy(self, callinfo)<EOL>setattr(self, item.name, method)<EOL>self._methods.setdefault(item.name, []).append(method)<EOL><DEDENT><DEDENT>self._mod = self._load(wsdl)<EOL>
Parameters:
   wsdl -- URL of WSDL.
   url -- override WSDL SOAP address location
   service -- service name or index
   port -- port name or index
   cachedir -- where to store generated files
   asdict -- use dicts, else use generated pyclass
   lazy -- use lazy typecode evaluation
   pyclass -- use pyclass_type metaclass adds properties, "new_", "set_, 
       "get_" methods for schema element and attribute declarations.
   force -- regenerate all WSDL code, write over cache.

NOTE: all other **kw will be passed to the underlying 
ZSI.client._Binding constructor.