0

So I've got a problem that I tought was solved two weeks ago :

The reference for the soap:address location value in my XML WSDL file is wrong and it keeps changing over time because I solved the problem but today the URL was wrong again.

I don't know how I solved it the other time because I discovered it 3 days later. Maybe by clearing the caches but this today and the XMl hasn't changed.

Here is the format of the wrong URL (actual one) : "http://host/4c-multi/index.php/api/v2_soap/index/?SID=aaqi0ge6jrh1sfs1vsg6f6ofk4"

The working URL (referenced by magic two weeks ago but then changed) : "http://host/4c-multi/index.php/api/v2_soap/index/"

It bothers me because my old projects (referenced to the good WSDL file) still work but not if I refresh the Web service reference.

Thank you for your help.

2
  • Check your setting under System > Configuration > General > Web > Session Validation Settings > Use SID on Frontend, what does it read? Does changing it make any difference?
    – pong
    Commented Dec 4, 2016 at 23:37
  • It does solve the issue when disabling this option which is already good to know but I am pretty sure it didn't solve the issue the first time because I cannot remember changing this option....Also, I am not sure if I can let this option disabled, what is the impact on my production Website ? Thx for your help
    – Dams
    Commented Dec 5, 2016 at 7:38

1 Answer 1

0

Disable System > Configuration > General > Web > Session Validation Settings > Use SID on Frontend.

If enabled, this setting is responsible for creating URLs containing the session key. This is generally a bad idea as session keys may pop up all over the place (like inside Magento, external services integrated into Magento, data exports, logs, search engines, browser histories, referers (sic!), ...) – as they did in your case. The only benefit of having it enabled I can think of (besides of easily sharing sessions if you prefer seeing this as an advantage instead of a security risk) is that your users might get away with cookies disabled.

The reason the soap URL sometimes doesn't contain any session id might be that (sometimes) there is none set in the context of its creation.

Personally, I disabled the setting after experiencing issues like a year ago, and it did nothing but fixing problems.

2
  • I think I will do that as it can present a security risk and it doesn't allow me to consume the Webservice properly. Thank you very much for your help.
    – Dams
    Commented Dec 5, 2016 at 13:26
  • If this solved your problem, please mark it as such. Also consider upvoting the answer if it was of any help.
    – pong
    Commented Dec 5, 2016 at 15:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.