-
-
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 heavily broken in 19.4.17 #2399
Comments
Does it work in 19.4.16? |
Yes - we did a rollback to 19.4.16 on several live instances that failed to handle SOAP. I guess its related to several XML fixes/checks coming in in the recent 19.4.17. Need to do more research tomorrow, was a long day. I guess the error was introduced with following commit: |
I'll test tomorrow morning and try to find out the problem. |
and it seems to be working also on the checkout of the 19.4.17 tagged release. can't check any further at this specific moment. |
It seems I'm able to login properly using the latest tagged version installed with composer. Do you call the SOAP API in any specific way that we're not aware of (like using some third party tool)? |
thanks for adressing my issue.
delete the wsdl cache file and the problem starts. Was a bitch in the live site, as the flush happened by script. I am trying to break it locally and report back. But maybe the problem can be reproduced on your side by flushing the tmp dir. |
I'm able to reproduce now but only with WS-I Compliance Mode enabled. $client = new SoapClient('http://magento.localhost/api/v2_soap/?wsdl');
$client->login((object)array('username' => 'apiUser', 'apiKey' => 'apiKey'));
// SoapFault with message 'Procedure 'loginParam' not present' |
Also the error doesn't seem to happen if I disable the wsdl cache from the admin panel. |
I don't even know how to enable WS-I compliance mode 😅 |
This is what is breaking Magento SOAP. Need to dive in deeper. EDIT: The acutal fix is in the wsi.xml file, that thing above was just a circumvention due to my old soap payloads. |
@fballiano System -> Configuration -> Magento Core Api |
Problem was an introduced bad targetNamespace, quesion is, why {{var wsdl.name}} was not kept, because as far as i can see, the problem would not have arisen:
|
The main reason this change was made is because we wanted to introduce a CI workflow to validate XML files syntax, and since |
This (changing the wsdl) has a tremendous impact on current installations, as most ERP-Systems cache the wsdl on their side. Just saying. |
Preconditions (*)
Steps to reproduce (*)
Expected result (*)
Login Result given
Actual result (*)
WS-I Compliant YES
PHP Fatal error: Procedure 'loginParam' not present in /home/cloudpanel/htdocs/www.domain.com/releases/2022_08_10_4_10_06_branch_master_soapfix/lib/Zend/Soap/Server.php on line 889
WS-I Compliant NO
SOAP-ERROR: Parsing WSDL: Unexpected WSDL element in /home/cloudpanel/htdocs/www.domain.com/lib/Zend/Soap/Server.php on line 814
The text was updated successfully, but these errors were encountered: