Hi Harm

This is a bug, and if I remember, one that we fixed sometime ago.. the problem is that the XSLT transformation result has three elements, and thus the source node for the transformation (i.e. first child of the SOAP body - which is the default) gets replaced by the first element from your result..

I will try to dig into the original defect and see how this regression came along.. Evanthika, can you ensure this is tested for each release from now on?

asankha

Harm Verhagen wrote:
Find attached the xslt that gives me the problem.

*input:*
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ser="http://service.YYY.com/";
>
   <soapenv:Header/>
   <soapenv:Body>
   <ser:redeem >
<token>00000000-00</token>
<cardId>123456</cardId>
<points>5</points>
<schemeId>0</schemeId>
<amount>0</amount>
</ser:redeem>

   </soapenv:Body>
</soapenv:Envelope>

*output *(wso2 logging)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:ser="http://service.YYY.com/";><soapenv:Body> <Login xmlns="http://www.XXX.com/authentication_3_1/";>
 <UserName>571701</UserName>
 <Password>571701</Password>
</Login>

</soapenv:Body></soapenv:Envelope>

*expected output*
soap body with *3* children
<Login> ... </..>
<Redeem>....</..>
<Logout> ... </...>

It does do this with xslproc. I wonder how to do this whith wso2.
I played aroudn with <xslt source=> in synapse.xml but I then realized the input doesn't have a problem.

Anyone an idea?

Regards,
Harm

On Thu, Oct 23, 2008 at 6:09 PM, Ruwan Linton <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    Hi Harm,

    Please see my comments inline;

    Harm Verhagen wrote:
    > Hi,
    >
    > I'm trying to use the xslt mediator to modify a soap request from 1
    > interface to and ohter interface.
    >
    > I have a single soap request, and transform it in a soap body with 3
    > requests. (login, a method, logout).
    > I debugged the xslt file with xsltproc, this seems to work fine.
    >
    > I see now the following 3 problems:
    >
    > 1) whenver I put the xslt in wso2esb, I see that the resulting
    output
    > (using log mediator) is _not_ complete.
    >  Only the first invocation is on. Only the login.  How to tickle the
    > xslt mediator so it puts everything in ?
    Can you please attach the XSLT and the configuration that you are
    using
    so that I can have a look at it.... I really cannot say anything about
    this without looking at the XSLT. :-(
    >
    > 2) the namespace ser: is not removed from the message  (the xslt
    file
    > _does_ have   exclude-result-prefixes="fn ser loy">.  xsltproc
    removes
    > it, wso2esb does not.
    This should work I guess... let me see your XSLT and get back to you
    once again.
    >
    > 3). The SOAPAction header is not set correctly, how to do this ?
     Can
    > this be done from xslt ?
    This can be done using the header mediator as follows;

    <header name="Action" value="$soap_action"/> here the $soap_action has
    to be replaced with the SOAP action that you need to set.

    Thanks,
    Ruwan
    >
    > *output*  (from log mediator)
    > <soapenv:Envelope
    > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
    > xmlns:ser="http://service.XXX.com/";><soapenv:Body>
    >
    >    <Login xmlns="http://www.XXXX.com/XXXX_3_1/";>
    > <UserName>571701</UserName>
    > <Password>571701</Password>
    > </Login>
    >
    >  </soapenv:Body></soapenv:Envelope>
    >
    > *expected output*  (from xsltproc)
    > <soapenv:Envelope
    > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
    >    <soapenv:Header/>
    >
    >   <Login xmlns="http://www.XXX.com/XXX_3_1/";>
    >   <UserName>571701</UserName>
    >   <Password>571701</Password>
    > </Login>
    > <redeem xmlns:loy="http://www.XXX.com/XX_3_2/"; >
    >   <TransactionHeader>
    >     <SequenceNumber>0</SequenceNumber>
    >     <TransactionTime/>
    >     <OperatorId/>
    >     <ClientReference/>
    >   </TransactionHeader>
    >   <CardId>123456</CardId>
    >   <Points>5</Points>
    >   <SchemeId>0</SchemeId>
    >   <InputValue>0</InputValue>
    > </redeem>
    > <Logout xmlns:auth="http://www.XXX.com/XXX_3_1/"; >
    >
    >    </soapenv:Body>
    > </soapenv:Envelope>
    >
    ------------------------------------------------------------------------
    >
    > _______________________________________________
    > Esb-java-user mailing list
    > [email protected] <mailto:[email protected]>
    > http://mailman.wso2.org/cgi-bin/mailman/listinfo/esb-java-user
    >


    _______________________________________________
    Esb-java-user mailing list
    [email protected] <mailto:[email protected]>
    http://mailman.wso2.org/cgi-bin/mailman/listinfo/esb-java-user


------------------------------------------------------------------------

_______________________________________________
Esb-java-user mailing list
[email protected]
http://mailman.wso2.org/cgi-bin/mailman/listinfo/esb-java-user
_______________________________________________
Esb-java-user mailing list
[email protected]
http://mailman.wso2.org/cgi-bin/mailman/listinfo/esb-java-user

Reply via email to