-
-
Notifications
You must be signed in to change notification settings - Fork 436
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
SOAP fault due to "SOAP-ERROR: Parsing Schema: can't import schema from 'http://schemas.xmlsoap.org/soap/encoding/' " #3968
Comments
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="http://schemas.xmlsoap.org/soap/encoding/" />
If we comment out or remove this line in all wsdl.xml and wsdl2.xml it seems to work. Alternative is hosting the schema somewhere else and update schemaLocation to something else. i.e schemaLocation="http://somedomainthatmicrosoftdoesntbreak.xmlsoap.org/soap/encoding/" |
Confirm, problem started a few days ago. Sometimes it works, sometimes it doesn't. |
I couldn't get it back to work by removing the statements from the wsdl.xml files. Pointing the URLs in the WSDL files to a self-hosted copy of the files also didn't help. Always got the error message "Couldn't find ...". As if the URL must always be schemas.xmlsoap.org or else it's invalid. Now, I'm hosting http://schemas.xmlsoap.org/wsdl/soap/, http://schemas.xmlsoap.org/soap/encoding/ and http://schemas.xmlsoap.org/wdsl/ on my own server with exactly the same paths as before and aliased schemas.xmlsoap.org to my own server in the hosts file on all relevant systems (mostly ERM and CRM). It's hacky, it's no long term solution, but it bought us some time until Microsoft get's their sh*t together (sorry) or until we can migrate over to a REST API. |
Do we have a copy of these files? Can magento host these files instead? |
Where can I find these files? Is there another site where I can download them? |
There was a similar issue 2 years ago |
I took them from the Internet Archive:
Not directly. To be able to replace schemas.xmlsoap.org with your own server, your server has to be respond to this domain name and it has to serve the files in this directory-like structrure as
|
But magento could fix the .xml and .php files which reference that domain (http://schemas.xmlsoap.org) and replace them with a admin-controlles url instead. Then the files could be somewhere to your liking. Is that a bad idea? |
Added the files here from the webarchive links above, in case they disappear once more. |
It seems microsoft fixed the problem. I'm not sure the domain can be switched to a custom one, somebody could test this? |
https://schemas.xmlsoap.org server is up now |
I also stumbled upon this.
So i commented it out in all xml files with no obvious issues. /Edit: According to blame, since Magento CE 1.4.2.0 |
@Flyingmana @kiatng do you think it would be safe to remove the "import" of the schema as @alexh-swdev was showing in #3968 (comment)? |
If it's safe to remove it, I prefer to avoid dependencies on external services. Otherwise, could it be a valid and legitimate alternative if we host itself a copy of wsdl schema and changes all occurences? like
then change in our copy version all references like this: <!--
Copyright 2001 - 2005, International Business Machines Corporation and Microsoft Corporation
All Rights Reserved
License for WSDL Schema Files
...keep the copyright...
http://schemas.xmlsoap.org/wsdl/soap/2003-02-11.xsd
THESE SCHEMA FILES ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS
...keep the copyright...
No other rights are granted by implication, estoppel or otherwise.
-->
<xs:schema targetNamespace="http://schemas.openmage.org/wsdl/soap/">
<xs:import namespace="http://schemas.openmage.org/wsdl/"/>
<xs:simpleType name="encodingStyle">
<xs:annotation>
<xs:documentation>
"encodingStyle" indicates any canonicalization conventions followed in the contents of the containing element. For example, the value "http://schemas.openmage.org/soap/encoding/" indicates the pattern described in SOAP specification
</xs:documentation>
</xs:annotation>
<xs:list itemType="xs:anyURI"/>
</xs:simpleType> from the copyright i read also:
|
If you host on openmage.org you are the bottleneck. Are you sure you want to do that? That of course would mean some voodoo magic, since we'd have to have placeholders in these files and then switch them out somewhere early in the system (once). |
Well, it could have been better documented in the update, instead of hidden somewhere in the readme... But there's a sperate discussion about it afair ;) Making those files part of OM would also be acceptable, I think, if removal would create issues. (But I would not host in on the OM servers). But if those really are not required... the less dependencies, the better :) |
Do you mean to create routes that respond under the same domain as the shop? But in this case, all references inside the XML definitions should be dynamic, which becomes complicated. |
Yes, thats exactly how I mean it. |
if there's no need for it then let's remove it |
can somebody test if SOAP APIs still work if we remove all the imports? |
I removed the imports last week and I am using the api/v2_soap?wsdl=1 for product export with PHP clients and order import with PHP and c# clients and it looks still good... |
thanks @alexh-swdev, I've created #3980 |
@alexh-swdev could you add a code review to #3980 pleaase? |
closed by #3980 |
Preconditions (*)
Steps to reproduce (*)
Expected result (*)
Actual result (*)
Further investigation
Returns a 404
The text was updated successfully, but these errors were encountered: