I got a question about what libraries JDeveloper uses for the soap proxy, and I had a quick look at that. I've just started doing soap stuff in Java, but it seems that the proxy stub that Jdev automatically produce for you uses the org.apache.soap package for most of the soap handling and the oracle.soap package for the http transport.
For my simple code experiment, the request is sent as a org.apache.soap.messaging.Message and the response is received into a org.apache.soap.Envelope. The body goes into a org.apache.soap.Body that contains a vector of body-entries, but the interesting entry is the first one, which is an org.w3c.dom.Element containing the returned XML-data. This code is automatically generated by Jdev, pretty similar to the proxy code generated by VS.NET I guess.