This is an invalid SOAP 1.1 Body item as per specification. Thus, this is, in fact, not a SOAP response.
Since this is not a valid SOAP response, and you are not sending any complex parameters, there is really little point in trying to call such a service using the SOAP structure.
It will make sense to consider it as a simple HTTP service with a proprietary format. Send an HTTP POST request and extract the “OK” part inside the body from the response. If the namespace prefix is not changed, you can do this even without XML parsing.
Despite the fact that it looks like a “hacked” one, this is a much cleaner and more convenient approach than using non-obvious interceptors and an obscure setting to crack the frame and force it to do something outside the specification. Anyone who follows you through code research will have to spend time understanding all the mechanisms involved in processing this one-eyed SOAP.
If, however, sometimes there is an admissible complex SOAP body that meets the specification, and sometimes there is invalid arbitrary content such as OK, overriding the SOAP analysis is not justified, and interceptors are the way to put invalid messages on the line with the specification. In the mixed case, I believe that there is no simple, easy way to match using the SOAP / WSDL specification unless the messages are pre-processed and fixed by interceptors.
source share