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