The Message constructor has the option of specifying
bodyInStream = true if I want to specify the body of the
SOAP message, but not build the SOAP Envelope myself.
Unfortunately, this doesn't seem to work; the contents
of the body is always empty. Here's an example, assuming
a pre-configured Call object and a String msg:
InputStream input = new ByteArrayInputStream(msg.getBytes("UTF-8"));
call.setRequestMessage( new Message(input,true) );
call.invoke();
Is this a known bug, or am I just doing it wrong? This seems to
be the way it's done in "Building Web Services for Java", after
correcting for API changes.
I know I can pass SOAPBodyElements to Call.invoke( Object[] ),
but that doesn't work for me, because I need to examine the
SOAPHeader in the reply. I could build the SOAPEnvelope myself,
but Axis should really be doing that for me...
Thanks for any ideas,
Fred Barrett