[esb-java-user] xslt question(s)
Ruwan Linton
ruwan at wso2.com
Mon Oct 27 06:09:41 PDT 2008
Harm Verhagen wrote:
> I had a trailing /* ,removing that fixed it.
> (s11:Body/* -> s11:Body)
> Thanks !
Cool, nice to hear that you got it to work... :-)
Thanks,
Ruwan
>
> Regards
> Harm
>
> On Sat, Oct 25, 2008 at 5:19 PM, Ruwan Linton <ruwan at wso2.com
> <mailto:ruwan at wso2.com>> wrote:
>
> Harm Verhagen wrote:
> > Allmost..
> >
> > after fixing the typo: (soapEnv -> soapenv).
> > The transformation seems OK, but now I get double
> > <Body><Body></Body></Body> quotes.
> Have you tried removing the Body in the source attribute of the XSLT
> mediator configuration? That might fix this problem...
>
> Thanks,
> Ruwan
> >
> > 2008-10-24 17:06:18,772 [127.0.0.1-vloeki_v01] [HttpServerWorker-9]
> > INFO LogMediator To: /soap/Loyalty_1_0,WSAction:
> > http://www.XXX.com/loyalty_3_3/Redeem,SOAPAction:
> > http://www.XXX.com/loyalty_3_3/Redeem,MessageID:
> > urn:uuid:B9D03BD86AAC65A7F91224864379180,Direction:
> request,Envelope:
> > <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope
> > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> > xmlns:ser="http://service.YYY.com/"><soapenv:Body>
> > <soapenv:Body>
> > <Login xmlns="http://www.XXX.com/authentication_3_1/">
> > <UserName>571701</UserName>
> > <Password>571701</Password>
> > </Login>
> > <Redeem xmlns:loy="http://www.XXX.com/loyalty_3_2/">
> > <TransactionHeader>
> > <SequenceNumber>0</SequenceNumber>
> > <TransactionTime />
> > <OperatorId />
> > <ClientReference />
> > </TransactionHeader>
> > <test />
> > <CardId>123456</CardId>
> > <Points>5</Points>
> > <SchemeId>0</SchemeId>
> > <InputValue>0</InputValue>
> > </Redeem>
> > <Logout xmlns="http://www.XXX.com/authentication_3_1/" />
> > </soapenv:Body>
> >
> > </soapenv:Body></soapenv:Envelope>
> >
> >
> >
> >
> > 2008/10/24 Ruwan Linton <ruwan at wso2.com <mailto:ruwan at wso2.com>
> <mailto:ruwan at wso2.com <mailto:ruwan at wso2.com>>>
> >
> > 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
> <ruwan at wso2.com <mailto:ruwan at wso2.com>
> > <mailto:ruwan at wso2.com <mailto:ruwan at wso2.com>>
> <mailto:ruwan at wso2.com <mailto:ruwan at wso2.com>
> > <mailto:ruwan at wso2.com <mailto:ruwan at wso2.com>>>> 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
> > > Esb-java-user at wso2.org
> <mailto:Esb-java-user at wso2.org> <mailto:Esb-java-user at wso2.org
> <mailto:Esb-java-user at wso2.org>>
> > <mailto:Esb-java-user at wso2.org
> <mailto:Esb-java-user at wso2.org> <mailto:Esb-java-user at wso2.org
> <mailto:Esb-java-user at wso2.org>>>
> >
> > >
> >
> http://mailman.wso2.org/cgi-bin/mailman/listinfo/esb-java-user
> > >
> >
> >
> > _______________________________________________
> > Esb-java-user mailing list
> > Esb-java-user at wso2.org
> <mailto:Esb-java-user at wso2.org> <mailto:Esb-java-user at wso2.org
> <mailto:Esb-java-user at wso2.org>>
> > <mailto:Esb-java-user at wso2.org
> <mailto:Esb-java-user at wso2.org> <mailto:Esb-java-user at wso2.org
> <mailto:Esb-java-user at wso2.org>>>
> >
> >
> http://mailman.wso2.org/cgi-bin/mailman/listinfo/esb-java-user
> >
> >
> >
> ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Esb-java-user mailing list
> > Esb-java-user at wso2.org <mailto:Esb-java-user at wso2.org>
> <mailto:Esb-java-user at wso2.org <mailto:Esb-java-user at wso2.org>>
> >
> http://mailman.wso2.org/cgi-bin/mailman/listinfo/esb-java-user
> >
> >
> >
> >
> > _______________________________________________
> > Esb-java-user mailing list
> > Esb-java-user at wso2.org <mailto:Esb-java-user at wso2.org>
> <mailto:Esb-java-user at wso2.org <mailto:Esb-java-user at wso2.org>>
> > http://mailman.wso2.org/cgi-bin/mailman/listinfo/esb-java-user
> >
> >
> >
> ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Esb-java-user mailing list
> > Esb-java-user at wso2.org <mailto:Esb-java-user at wso2.org>
> > http://mailman.wso2.org/cgi-bin/mailman/listinfo/esb-java-user
> >
>
>
> _______________________________________________
> Esb-java-user mailing list
> Esb-java-user at wso2.org <mailto:Esb-java-user at wso2.org>
> http://mailman.wso2.org/cgi-bin/mailman/listinfo/esb-java-user
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Esb-java-user mailing list
> Esb-java-user at wso2.org
> http://mailman.wso2.org/cgi-bin/mailman/listinfo/esb-java-user
>
More information about the Esb-java-user
mailing list