-
-
Notifications
You must be signed in to change notification settings - Fork 590
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Getting 404 on loading https://schemas.xmlsoap.org/soap/encoding/ #1417
Comments
Thanks, I was just hit by this also! Do you have the contents of the file? I'm getting 404 all the time from the site. I did check waybackmachine but I'm not 100% sure it does a 1:1 copy of xml that way... |
@tswfi I've mirrored it here: https://gist.github.com/nc9/8682e6cb7fa9398cfe3de0b6e7ec99c9 So many issues with WSDL files that I just make a local copy of the service WSDL file and then update the schema directly, and then point the client to that local copy of the WSDL |
@tswfi |
wow - @junctionapps - the I saved the xml file locally and then modified this part of your code to adapt: From
To
Thanks again! |
Ran into this issue as well. Another possible solution that doesn't require a custom Transport is to warm the cache with any WSDL files you want. Something like
|
@mvantellingen what do you think, maybe zeep could ship with some of those default documents that do not change that often and always use the local copies? |
LocalSchemaTransport method implemented to load faulty schema. Ref: mvantellingen/python-zeep#1417
Just reloaded and integration appears to be working now - https://schemas.xmlsoap.org/soap/encoding/ is coming back. 404 issue is resolved looks like. |
I think we should include these default schema's with zeep (and detect if these are loaded) PR's welcome! |
Some schemas include a namespace like
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
It seems like either the site hosting that occasionally goes down, or is throttling requests in some way. As a result, Zeep throws a 404 (or in some cases a 403) error when it attempts to load that file.
What I'm posting here is likely not the best way to overcome this, but maybe it will help someone else who comes along.
I'm using a Django application here, so this will be a little bit Django centric, but should be easy enough to adapt to your needs. I've been able to get a copy of the contents of https://schemas.xmlsoap.org/soap/encoding/ and saved them locally inside of my app folder and named the file
soap-encodings.xml
. After that I created my own Transport class and overwrote theload
method and added a little bit for recognizing if it is the offending schema.Following that, to use this in your code, you do something like:
If there is a way to do this with a provided argument I'd love to know it.
Feel free to close the ticket, just wanted to drop in one way to get around it.
The text was updated successfully, but these errors were encountered: