Hi Erik,
There are various other problems using Exchange together with Suds,
one being that Exchange (despite the XSD) needs some calls to be in a specific XML format
that Suds is unable to generate.
I have recently been dealing with the SOAP API of a
vendor that might have similar issues. Key problems with it are:
1) Provides WSDL that doesn't quite match their implementation
2) Replies with faults that aren't inside a Fault element
3) Provides some XSD that is not well-formed XML
4) Considers certain empty and attributeless elements to have a different meaning to
absense of the element.
Suds however considers an empty and attributeless element to be superfluous and
won't include it in SOAP calls.
I have worked around these problems using suds 0.0.4 beta and a combination of custom
suds.plugin.DocumentPlugin and suds.plugin.MessagePlugin objects. The workaround that
might be relevant to your issue with Exchange (#4 above) was solved by using a
suds.plugin.DocumentPlugin to dynamically add a dummy attribute to the problem elements in
the XSD, and a suds.plugin.MessagePlugin to dynamically remove the dummy attribute from
the SOAP envelope before it is sent.
I could give you a hand with this aspect if it is of any use to you.
Kind Regards,
Glen
-----Original Message-----
From: suds-bounces(a)lists.fedoraproject.org [mailto:suds-bounces@lists.fedoraproject.org]
On Behalf Of Erik Cederstrand
Sent: Friday, 3 September 2010 7:53 p.m.
To: jon(a)objectevolution.com
Cc: suds(a)lists.fedoraproject.org
Subject: Re: [Fedora-suds-list] suds and Exchange Web Services
Hi Jon
I'm working on a python module for Exchange. There are various other problems using
Exchange together with Suds, one being that Exchange (despite the XSD) needs some calls to
be in a specific XML format that Suds is unable to generate. Another problem is that Suds
doesn't offer connection pooling, which is important to me, as I'm doing
high-volume content creation in Exchange.
If you, or anyone else, is interested in helping out please send me a note.
Thanks,
Erik
Den 03/09/2010 kl. 00.11 skrev jon(a)objectevolution.com:
Hi,
I'm using the suds-ews branch to "try" and connect to Exchange Web Services
for a client. Couple things I've run into:
1. I need to bring Services.wsdl, messages.xsd and types.xsd local and not on the
Exchange server so I could modify Services.wsdl and append the following:
<wsdl:service name="ExchangeServices">
<wsdl:port name="ExchangeServicePort"
binding="tns:ExchangeServiceBinding">
<soap:address
location="https://exchange.server.com/ews/Exchange.asmx" />
</wsdl:port>
</wsdl:service>
2. Now, I get the client creation in Python just fine but when I go to call a service it
wants me to, obviously, authenticate.
I can authenticate to the server upon client creation but I get a bad wsdl which needs
the xml snippet from above. I can go local with the wsdl but then I need to authenticate
to call a service.
Can the client call a service and pass a transport as well?
Thanks,
Jon
_______________________________________________
suds mailing list
suds(a)lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/suds
This email and attachments: are confidential; may be protected by privilege and copyright;
if received in error may not be used, copied, or kept; are not guaranteed to be
virus-free; may not express the views of Kordia(R); do not designate an information
system; and do not give rise to any liability for Kordia(R).