docs: def setUpMethods(self, port):
          '''set up all methods representing the port operations.
          Parameters:
              port -- Port that defines the operations.
          '''
          assert isinstance(port, WSDLTools.Port), \
              'expecting WSDLTools.Port not: ' %type(port)
  
          sd = self._services.get(port.getService().name)
          assert sd is not None, 'failed to initialize.'
  
          binding = port.getBinding()
          portType = port.getPortType()
          action_in = ''
          for bop in binding.operations:
              try:
                  op = portType.operations[bop.name]
              except KeyError, ex:
                  raise WsdlGeneratorError,\
                      'Port(%s) PortType(%s) missing operation(%s) defined in Binding(%s)' \
                      %(port.name,portType.name,bop.name,binding.name)
  
              for ext in bop.extensions:
                   if isinstance(ext, WSDLTools.SoapOperationBinding):
                       action_in = ext.soapAction
                       break
              else:
                  warnings.warn('Port(%s) operation(%s) defined in Binding(%s) missing soapAction' \
                      %(port.name,op.name,binding.name)
                  )
  
              msgin = op.getInputMessage()
              msgin_name = TextProtect(msgin.name)
              method_name = self.getMethodName(op.name)
  
              m = sd.newMethod()
              print >>m, '%sdef %s(self, ps, **kw):' %(self.getIndent(level=1), method_name)
              if msgin is not None:
                  print >>m, '%srequest = ps.Parse(%s.typecode)' %(self.getIndent(level=2), msgin_name)
              else:
                  print >>m, '%s# NO input' %self.getIndent(level=2)
  
              msgout = op.getOutputMessage()
              if msgout is not None:
                  msgout_name = TextProtect(msgout.name)
                  print >>m, '%sreturn request,%s()' %(self.getIndent(level=2), msgout_name)
              else:
                  print >>m, '%s# NO output' % self.getIndent(level=2)
                  print >>m, '%sreturn request,None' % self.getIndent(level=2)
  
              print >>m, ''
              print >>m, '%ssoapAction[\'%s\'] = \'%s\'' %(self.getIndent(level=1), action_in, method_name)
              print >>m, '%sroot[(%s.typecode.nspname,%s.typecode.pname)] = \'%s\'' \
                       %(self.getIndent(level=1), msgin_name, msgin_name, method_name)
  
          return