-
Notifications
You must be signed in to change notification settings - Fork 61
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
Issues with SOAP mocking #597
Comments
Hi @rdruilhe, thanks for raising this. Please could you share the full log output when Imposter starts? Ideally, it would be good to set the |
Hello, Thanks for the answer. After digging a bit, I found that I made a mistake due to an initial error in Imposter. Indeed, my WSDL starts with the following header :
But when I launch Imposter with this WSDL file, I get the following error :
The third party server accept this double header without raising any error but not Imposter. Thus, to configure Imposter properly, I removed the
Thus, I found the error and fixed it and now I am stuck with this error:
I think this is an error from the WSDL but because the WSDL is working with the third party server and not with Imposter, I am stuck not knowing what to do: I do not have the possibility to modify the third party server code (because it is a private server) and I am stuck with this WSDL not working with Imposter. Is there a way to bypass the validation of the WSDL at start in Imposter ? Or should I use REST plugin instead so that there is no validation of the WSDL file ? Thanks for the help. |
Hi @rdruilhe, thank you for the diagnosis. Looking at the messages in the WSDL: <wsdl:message name="authIn"/>
<wsdl:message name="authOut">
<wsdl:part name="return" type="tns:tpo_connexion"/>
</wsdl:message> …it looks like the input message Do you have an example of the SOAP request message you expect to send? We might be able to use this to compare against the WSDL message to see if this looks right. |
Doing some research on this, my read of the WSDL 1.1 specification implies that a According to the specification:
You can find this in Section 2.3 of the WSDL 1.1 specification: WSDL 1.1 Specification, Section 2.3. This doesn’t explain why the real server you mentioned doesn’t complain, though 😅 |
Hi @outofcoffee, thanks for the information. Indeed, it seems that the WSDL the third party organization provided to us is not compliant with the WSDL specification. I just added a
Yes, I just retrieved one and here it is:
It looks compliant with the WSDL I provided. And here is the response (also compliant):
But despite this lack of compliance with the WSDL specification and the fact that the remote server seems to have no problem with that, what do you recommend for testing our code? Is Imposter the correct answer to test not compliant WSDL or should I develop a small SOAP server instead for my tests? Is the use of Imposter REST plugin is a solution, because this plugin will not take into account the content of the message and thus the compliance with the specification? |
Hello,
I am trying to mimic a SOAP server from a third party organization so that we are able to work without depending on the remote server. We do not have access to the remote server source code, we only have the WSDL file and a snippet as an example to use it.
Here is the WSDL file of the SOAP services I would like to mock.
And here is the configuration file I am trying to set up to make it work.
I am able to launch the server using the Docker image with this Imposter configuration (which is correctly loaded) but when my script perform a request to Imposter, I get the following error:
I thought that Imposter was supposed to catch the SOAP request to this file soap.php according to the pattern I defined in the configuration file. I do not have access to the soap.php file on the remote server. Is my configuration wrong or is my WSDL not compliance with Imposter?
Thank in advance for the help.
The text was updated successfully, but these errors were encountered: