I am consuming a SOAP web service from a third party vendor, and we are having some issues with the functions in the service changing randomly (renamed parameters, parameters added and removed). Obviously this isn’t what we want to see happening, so I am trying to write a script to notify me whenever anything in the Webservice changes.
Using PHP’s SoapClient, I can pull a list of all functions in the webservice, however all of the functions list a single parameter which appears to be the container for the rest of the parameters. I am using the SoapClient in WSDL mode, so I would think that there is some way to pull a full parameter list for each function.
Any advice?
Along the lines of what some of the comments above had said, if you are not able to get accurate reflection of the methods/parameters to meet your needs from the SOAP client, then certainly there is nothing to stop you from either taking a hash of the WSDL itself and comparing it to a hash you have stored to see if there are any changes.
If you wanted to get more detail on what the changes are, then you could go a step further and parse the WSDL with some XML library and compare nodes for changes.