Hello,
I need to use suds to parse a wsdl available on my local network, however there is no connection to the internet. Port 80 is blocked in and out. What are my options? So far, I was thinking about the following solutions:
1. Unblock 80 and let suds parse the wsdl and create the schemas in /tmp/suds. Then block 80 and use suds normally. This seems to work, however I don't know how long? Is there any caching
Hey Elyrwen,
If the wsdl is self contained (it does not import anything) I'd suggest you download the wsdl and then use suds to parse the local file as:
url = 'file:///home/edynesh/wsdl.xml' client = Client(url)
Otherwise, you can do as you suggested and let suds resolve the dependencies and rely on the cache to store the files locally. Or, you can read the wsdl and manually download all of the dependencies as well.
On 11/24/2009 05:22 AM, Elyrwen Dynesh wrote:
Hello,
I need to use suds to parse a wsdl available on my local network, however there is no connection to the internet. Port 80 is blocked in and out. What are my options? So far, I was thinking about the following solutions:
- Unblock 80 and let suds parse the wsdl and create the schemas in
/tmp/suds. Then block 80 and use suds normally. This seems to work, however I don't know how long? Is there any caching
Yes, you can do this. By default, suds caches files in /tmp/suds for 1 day. You can change this by doing something like:
client.options.cache.setduration(days=0) # 0 = forever
fedora-suds-list mailing list fedora-suds-list@redhat.com https://www.redhat.com/mailman/listinfo/fedora-suds-list
Hi Jeff,
This discussion has brought back a couple of thoughts I had when I started using Suds.
- Would it not be possible to load the WSDL from a string ? - Would it not be possible to load the "cache" also from a string/file (or even remove the cache concept)?
Although I am sure that the "cache" concept has uses for some people, I feel that most people use the client against invariant WSDL files and therefore have no need for a "cache" concept, but for a pre-generated version.
This may open the door to having an independent tool to pre-generate the "cache" with the WSDL file and then let people have a client that works (with the same API as today) by loading that "cache" (call it: "pre-generated set of objects") instead of referencing the WSDL.
Best regards
On Tue, Nov 24, 2009 at 15:05, Jeff Ortel jortel@redhat.com wrote:
Hey Elyrwen,
If the wsdl is self contained (it does not import anything) I'd suggest you download the wsdl and then use suds to parse the local file as:
url = 'file:///home/edynesh/wsdl.xml' client = Client(url)
Otherwise, you can do as you suggested and let suds resolve the dependencies and rely on the cache to store the files locally. Or, you can read the wsdl and manually download all of the dependencies as well.
On 11/24/2009 05:22 AM, Elyrwen Dynesh wrote:
Hello,
I need to use suds to parse a wsdl available on my local network, however there is no connection to the internet. Port 80 is blocked in and out. What are my options? So far, I was thinking about the following solutions:
- Unblock 80 and let suds parse the wsdl and create the schemas in
/tmp/suds. Then block 80 and use suds normally. This seems to work, however I don't know how long? Is there any caching
Yes, you can do this. By default, suds caches files in /tmp/suds for 1 day. You can change this by doing something like:
client.options.cache.setduration(days=0) # 0 = forever
fedora-suds-list mailing list fedora-suds-list@redhat.com https://www.redhat.com/mailman/listinfo/fedora-suds-list
fedora-suds-list mailing list fedora-suds-list@redhat.com https://www.redhat.com/mailman/listinfo/fedora-suds-list