Commit b7a85792 authored by Klaus Wölfel's avatar Klaus Wölfel

Add suds.patch

parents
diff -ur suds-0.4-py2.7.egg/suds/wsdl.py suds-0.4-py2.7.egg/suds/wsdl.py
--- suds-0.4-py2.7.egg/suds/wsdl.py 2014-02-08 17:46:39.866397790 +0100
+++ suds-0.4-py2.7.egg/suds/wsdl.py 2014-01-27 18:43:06.000000000 +0100
@@ -158,10 +158,40 @@
self.resolve()
self.build_schema()
self.set_wrapped()
+ self._ensure_service()
for s in self.services:
self.add_methods(s)
log.debug("wsdl at '%s' loaded:\n%s", url, self)
-
+
+ def _ensure_service(self):
+ """Trying to add service if no one definied explicitly. EWS workaround."""
+ if self.services\
+ or not self.bindings\
+ or len(self.bindings) > 1\
+ or not self.bindings.keys()[0][0].startswith('Exchange'):
+ return
+
+ service = Element('service')
+ service.set('name', 'ExchangeServices')
+
+ port = Element('port', service)
+ port.set('name', 'ExchangeServicePort')
+ port.set('binding', self.bindings.keys()[0][0])
+
+ address = Element('address', port)
+ address.set('location', urljoin(self.url, 'exchange.asmx'))
+
+ port.append(address)
+ service.append(port)
+
+ service = Factory.create(service, self)
+ service.resolve(self)
+
+ self.children.append(service)
+ self.services.append(service)
+
+ log.debug('Auto created service: %s', service)
+
def mktns(self, root):
""" Get/create the target namespace """
tns = root.get('targetNamespace')
diff -ur suds-0.4-py2.7.egg/suds/xsd/sxbase.py suds-0.4-py2.7.egg/suds/xsd/sxbase.py
--- suds-0.4-py2.7.egg/suds/xsd/sxbase.py 2014-02-08 17:46:39.890397790 +0100
+++ suds-0.4-py2.7.egg/suds/xsd/sxbase.py 2014-01-29 20:34:53.000000000 +0100
@@ -166,6 +166,9 @@
@return: The schema's target namespace
@rtype: (I{prefix},I{URI})
"""
+ # XXX(Seb) theses two lines are https://fedorahosted.org/suds/attachment/ticket/292/ticket-292-proposed-fix.patch
+ if self.ref is not None:
+ return (prefix, self.ref[1])
ns = self.schema.tns
if ns[0] is None:
ns = (prefix, ns[1])
@@ -666,4 +669,4 @@
return
for c in node.rawchildren:
self.find(c, list)
- return self
\ Pas de fin de ligne à la fin du fichier
+ return self
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment