Runtime manipulation of JADE Web Service WSDL
For a current development project, we have been asked to build a Web Service in our JADE application that accepts requests of a third-party's design, and is expected to return responses of a particular format, also described by the third party. The problem for us is that the structure of both the requests and responses are not possible to create with JADE Web Services, due to some default (and unalterable) behaviour. Examples are that incoming requests will have field names that have their first-letter capitalised, and that the response structure does not include the default group name around the response class attributes. JADE only exposes and parses input using raw JADE property names, which of course must start with a lowercase letter. We have been able to work around this by adding our own XML mapping code into our reimplementation of processRequest, changing the known incoming XML to match what JADE is expecting. We can also modify the XML response that is sent by JADE in a reimplementation of the reply method, therefore returning the expected response. However, what we cannot do is change the WSDL that JADE automatically provides to match our modified responses, which means that we are breaking the rules of our own WSDL. It would be useful if there was a hook provided by the Web Service framework to allow us to modify at runtime the WSDL returned to a Web Service consumer, so that it matched our modified responses.