Srinath,
Looking to confirm what u said,I noticed following code in
InvokeBlocking() method:
if (isEnvelope) {
return resEnvelope;
} else {
return resEnvelope.getBody().getFirstElement();
}
And in prepareTheSystem() method:
if (toSend instanceof SOAPEnvelope) {
envelope = (SOAPEnvelope) toSend;
isEnvelope = true;
} else {
SOAPFactory omfac = OMAbstractFactory.getSOAP11Factory();
envelope = omfac.getDefaultEnvelope();
envelope.getBody().addChild(toSend);
isEnvelope = false;
}
This tells we can pass SOAPEnvelope and I think, if we send Envelope
we'll receive envelope, so casting should be safe. So the Envelope
structure u said should not be possible. Am I missing something?
Also, I guess one should be allowed to pass complete envelope, else how
can a user add soap header elements? Also, SAAJ connection classes
require envelopes passing capability, so if this doesn't happen in OM
I'll have to do some extra coding there.
Ashutosh
-----Original Message-----
From: Srinath Perera [mailto:[EMAIL PROTECTED]
Sent: Thursday, May 19, 2005 3:30 PM
To: [email protected]
Subject: Re: [Axis2] Changed Call method?
> Is it that we have sendReceiveSync() method in
> org.apache.axis.clientapi.Call replaced by:
>
> public OMElement invokeBlocking(String axisop, OMElement toSend)?
Yes
> This method takes an additional parameter axisop. What all values can
it
> take and why has this been added?
> I see a sample program passing "echo" to it, is there any predefined
list
> from which these values are taken?
It is the name of the Operation you want call in the ServiceEndpoint
.. echo is the name of the operation !
> Also, the return type has been changed to OMElement from SOAPEnvelope,
if I
> pass a SOAPEnvelope, can I assume the response will be SOAPEnvelope as
well
> and typecast safely?
No the return type is a OMElment .. if u pass SOAPEnvelope it would be
<SOAPEnvelope ...>
<body>
<SOAPEnvelope> ....</SOAPEnvelope>
</body>
that goes on the wire !!
Thanks
Srinath