diff --git a/product/ERP5Type/Tool/WebServiceTool.py b/product/ERP5Type/Tool/WebServiceTool.py
index 0150c8666c23563c7d7ac509ccc4d051920d7c20..234187cda1e34625630e24386a793233f5a0edf1 100644
--- a/product/ERP5Type/Tool/WebServiceTool.py
+++ b/product/ERP5Type/Tool/WebServiceTool.py
@@ -78,15 +78,18 @@ class WebServiceTool(BaseTool):
   security.declareProtected(Permissions.ManagePortal, 'manage_overview')
   manage_overview = DTMLFile('explainWebServiceTool', _dtmldir )
 
-  def connect(self, url, user_name=None, password=None, transport=None):
+  def connect(self, url, user_name=None, password=None, transport=None, transport_kw=None):
     """
     Connect to remote instances
     of any kind of web service (not only ERP5) with many
     different kinds of transport like 'xml-rpc' or 'soap'
     """
     # XXX: implement connection caching per zope thread
+    if transport_kw is None:
+      transport_kw = {}
     connection_handler_klass = connection_plugin_registry[transport]
-    connection_handler = connection_handler_klass(url, user_name, password)
+    connection_handler = connection_handler_klass(url, user_name, password,
+                                                  **transport_kw)
     return connection_handler.connect()
 
 InitializeClass(WebServiceTool)