For obscure reasons, I am interposing a adaptor web service between a client and the target web service, in order to manipulate the SOAP envelopes sent by the client and returned by the target service.
Presumably this could be done better using handlers, but I have to defer that approach until it can be integrated into the (large) client application properly. The client uses rpc operations from a WSDL similar to the target web service's (but modified in some way). The adaptor service does not conform to this WSDL -- it uses style="message" and has one method with signature public void process(SOAPEnvelope request, SOAPEnvelope response) The transformations are done by XSLT depending on the operation name found in the request, before forwarding the transformed request envelope to the target service. A similar manipulation is done to the response from the target. Presumably the adaptor service can be selected by the URL of client http request. The question is, how does the Axis server know to call the one method of the service, when the request SOAP packet does not mention its name? Can this be done via the SOAPAction URI (e.g. have all the operations in the WSDL the client sees use the same soap action associated with the adapter service?) Is some other alternative possible using some handler setting something in the MessageContext? Jeff