> But, that does puzzle me. According to what I've read, the > distinction is that, in document mode, the toolkits don't > interpret the messages for you, allowing you to provide your > own, hopefully more efficient, parsing of the document. But > it is clear that Axis is converting the message into java > objects for me. The distinction between RPC and Document is subtle. So subtle that you can have the same on the wire representation for both RPC and Document style (although the WSDL will differ). In fact when we moved from RPC to Document pre 1.0 I did rewrite the WSDL so not to change the on the wire representation (or at least tried to). The difference comes in how the SOAP stack interprets the requests. In Axis if we had RPC the stubs would be SearchRetrieveResponse SearchRetrieveRequest(String version, String query, int startRecord, int maximumRecords, ...); As opposed to Document where you get SearchRetrieveResponse SearchRetrieve(SearchRetrieveRequest body); Where version, query etc. are properties of SearchRetrieveRequest. Configuring the toolkit to treat SearchRetrieveRequest as just an XML DOM rather than do internal parsing is left as an implementation detail of the toolkit. Literal versus Encoding is a more important distinction as that really does affect the on the wire representation. Matthew