Asankha,

Here is how XSLT mediator works...

When you give a particular source element to the XSLT mediator it 
replaces that element with the resulted element.... In this case we have 
three result elements which causes the issue. Do we need to support 
multiple result elements? In which case are we going to attach the extra 
result elements as siblings of the first result element?

Thanks,
Ruwan

Asankha C. Perera wrote:
> 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
>   


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

Reply via email to