On Fri, Apr 30, 2010 at 1:38 PM, Damian Carey <[email protected]> wrote:
> Amila > Thanks very much for your reply. > > On Fri, Apr 30, 2010 at 12:46 AM, Amila Suriarachchi > <[email protected]> wrote: > > > > On Thu, Apr 29, 2010 at 5:22 PM, Damian Carey <[email protected]> wrote: > >> Hello all, > >> The summary of this post is "Can Axis2 support MultiRef" > > > you can try with this. > > > > change your generated stub to and the following line > > MultirefHelper.processHrefAttributes(_returnEnv); below the return > > envelope as given. For each operation. > > > > like this > > > > org.apache.axiom.soap.SOAPEnvelope _returnEnv = > > _returnMessageContext.getEnvelope(); > > MultirefHelper.processHrefAttributes(_returnEnv); > > Fantastic advise. > > It ALMOST worked (I think). I would like to try one more thing to see > if it works ... > > The correct data seemed to be transferred into the initial "element". > The only problem is that the two "multiRef" elements were not removed. > It is still failing but I think it is only failing because the > multiRef elements are still there. > > ---- after MultirefHelper helper ------------------------------- > <soapenv:Envelope> > <soapenv:Body> > <ns1:getAcknowledgementResponse > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> > <getAcknowledgementReturn soapenc:root="0" > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > xsi:type="ns2:TransactionReport"> > <errorMessage xsi:type="soapenc:string"/> > <transactionStatus soapenc:root="0" > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > xsi:type="xsd:int">-1</transactionStatus> > <uniqueIdentifier xsi:type="soapenc:string"/> > </getAcknowledgementReturn> > </ns1:getAcknowledgementResponse> > <multiRef id="id0" soapenc:root="0" > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > xsi:type="ns2:TransactionReport"> > <errorMessage xsi:type="soapenc:string"/> > <transactionStatus href="#id1"/> > <uniqueIdentifier xsi:type="soapenc:string"/> > </multiRef> > <multiRef id="id1" soapenc:root="0" > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > xsi:type="xsd:int">-1</multiRef> > </soapenv:Body> > </soapenv:Envelope> > ------end -------------------- > > Is there any way to remove the two "multiRef" elements? > I can iterate through the "soapBody.getChildElements()" and "see" the > elements, but I'm not sure how to actually remove the multirefs before > passing the soapBody on. > > In other words I would like to write my own processor, something like > MyExtendedMultirefHelper.processHrefAttributes(_returnEnv); > to remove those elements and see if the remainder works OK. > > > > if this does not work I think you have no option other than using another > > stack. > > Yes. That may well end up being the case. > > Just one question first. Can you suggest which other stack may work ??? > > I realise that you cannot advise me or guarantee anything etc, but you > may have some knowledge of what may work in this situation. Perhaps > Axis1? perhaps another suggestion?? Any guidance would be most > welcome. I have not worked with Axis1. But it supports soap encoding. So try with Axis1. thanks, Amila. > > > thanks, > > Amila. > > Thanks you very much ... > -Damian > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/
