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/

Reply via email to