axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Greif" <jgr...@alumni.princeton.edu>
Subject Use of Message services
Date Thu, 05 Feb 2004 21:55:33 GMT
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


Mime
View raw message