#5636: fix next -> __next__ in csv reader docs.
diff --git a/Lib/test/test_xmlrpc.py b/Lib/test/test_xmlrpc.py
index d1ed40f..1f5f5aa 100644
--- a/Lib/test/test_xmlrpc.py
+++ b/Lib/test/test_xmlrpc.py
@@ -598,7 +598,11 @@
         sys.stdin = open("xmldata.txt", "r")
         sys.stdout = open(support.TESTFN, "w")
 
-        self.cgi.handle_request()
+        os.environ['CONTENT_LENGTH'] = str(len(data))
+        try:
+            self.cgi.handle_request()
+        finally:
+            del os.environ['CONTENT_LENGTH']
 
         sys.stdin.close()
         sys.stdout.close()
diff --git a/Lib/xmlrpc/server.py b/Lib/xmlrpc/server.py
index eb807c4..ea828a5 100644
--- a/Lib/xmlrpc/server.py
+++ b/Lib/xmlrpc/server.py
@@ -590,7 +590,7 @@
             # POST data is normally available through stdin
             try:
                 length = int(os.environ.get('CONTENT_LENGTH', None))
-            except ValueError:
+            except (ValueError, TypeError):
                 length = -1
             if request_text is None:
                 request_text = sys.stdin.read(length)