Harm the issue is with the multiple elements in the output... Are you sure you want to put multiple elements into the SOAP body?

If so use the following attached XSLT with the following source attribute in the XSLT mediator....

<xslt key="Loyalty.xslt" source="/soapenv:Envelope/soapenv:Body" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"/>

Thanks,
Ruwan

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

Attachment: Loyalty.xslt
Description: XML document

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

Reply via email to