axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Amila Suriarachchi <amilasuriarach...@gmail.com>
Subject Re: Axis2, SOAP, MultiRef, and an ADBException: Unexpected subelement
Date Fri, 30 Apr 2010 08:41:13 GMT
On Fri, Apr 30, 2010 at 1:38 PM, Damian Carey <jamianb@gmail.com> wrote:

> Amila
> Thanks very much for your reply.
>
> On Fri, Apr 30, 2010 at 12:46 AM, Amila Suriarachchi
> <amilasuriarachchi@gmail.com> wrote:
> >
> > On Thu, Apr 29, 2010 at 5:22 PM, Damian Carey <jamianb@gmail.com> 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: java-user-unsubscribe@axis.apache.org
> For additional commands, e-mail: java-user-help@axis.apache.org
>
>


-- 
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/

Mime
View raw message