code: def AsCGI(nsdict={}, typesmodule=None, rpc=False, modules=None):
      '''Dispatch within a CGI script.
      '''
      if os.environ.get('REQUEST_METHOD') != 'POST':
          _CGISendFault(Fault(Fault.Client, 'Must use POST'))
          return
      ct = os.environ['CONTENT_TYPE']
      try:
          if ct.startswith('multipart/'):
              cid = resolvers.MIMEResolver(ct, sys.stdin)
              xml = cid.GetSOAPPart()
              ps = ParsedSoap(xml, resolver=cid.Resolve)
          else:
              length = int(os.environ['CONTENT_LENGTH'])
              ps = ParsedSoap(sys.stdin.read(length))
      except ParseException, e:
          _CGISendFault(FaultFromZSIException(e))
          return
      _Dispatch(ps, modules, _CGISendXML, _CGISendFault, nsdict=nsdict,
                typesmodule=typesmodule, rpc=rpcf AsCGI(nsdict={}, typesmodule=None, rpc=False, modules=None):
      '''Dispatch within a CGI script.
      '''
      if os.environ.get('REQUEST_METHOD') != 'POST':
          _CGISendFault(Fault(Fault.Client, 'Must use POST'))
          return
      ct = os.environ['CONTENT_TYPE']
      try:
          if ct.startswith('multipart/'):
              cid = resolvers.MIMEResolver(ct, sys.stdin)
              xml = cid.GetSOAPPart()
              ps = ParsedSoap(xml, resolver=cid.Resolve)
          else:
              length = int(os.environ['CONTENT_LENGTH'])
              ps = ParsedSoap(sys.stdin.read(length))
      except ParseException, e:
          _CGISendFault(FaultFromZSIException(e))
          return
      _Dispatch(ps, modules, _CGISendXML, _CGISendFault, nsdict=nsdict,
                typesmodule=typesmodule, rpc=rpc)
docs: Dispatch within a CGI script.