cancel
Showing results for 
Search instead for 
Did you mean: 

Migrating XSLT mappings with Java enhancements from PI 7.1 to 7.31

former_member206760
Active Contributor
0 Kudos

Hi

I understand that PI 7.31 does not support the standard XML toolkit and hence when we migrate any XSLT maps that have Java class calls from should by type casted using XSLTC statements.

For.eg.

<?xml version="1.0" encoding="UTF-8"?>

<ns0:stylesheet version="1.0" xmlns:pns="urn:ca.huskyenergy.envrpt.db.ws.utils" xmlns:javasid="java:ca.yyy.xi.XIGetSysName" xmlns:javauser="java:ca.yyy.xi.log.XIGetUser"

xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="http://www.w3.org/1999/XSL/Transform" xmlns:xsltc="http://xml.apache.org/xalan/xsltc" xmlns:map="java.util.Map">

   <ns0:variable name="SysID">

         <ns0:value-of select="javasid:getSysName(xsltc:cast('java:ca.yyy.xi.XIGetSysName',$inputparam))"/>

   </ns0:variable>

Here the above code is working fine as i type casted using xsltc:cast('java:ca.yyy.xi.XIGetSysName',$inputparam)

   <ns0:variable name="UserPwd">

        <ns0:value-of select="javauser:getUser('DEV_XI_LOG','XI_LOG_JDBC_RCV','DEV_REMEDY',

'TicketCreate',xsltc:cast('java.util.Map',$inputparam))"/>


    </ns0:variable>


However the above code in red does not work and I still get a java object exception. So it seems that the i have not type casted the $inputparam correctly while calling the class method getUser

Signature for getUser is as under and inputparam is passed as Map inputparam .

public class XIGetUser {

                public static String getUser (

                                String service,

                                String channelName,

                                String busSystem,

                                String name,

                                Map inputparam)

How do i type cast this inputparam variable ??

i already tried

xsltc:cast('java.util.Map',$inputparam)

xsltc:cast('java:ca.yyy.xi.log.XIGetUser',$inputparam)

Accepted Solutions (1)

Accepted Solutions (1)

iaki_vila
Active Contributor
0 Kudos

Hi Shah,

Check the section "Migrating XSLT Mappings Created With SAP XML Toolkit to JDK Toolkit" in this documentation http://help.sap.com/saphelp_nw73ehp1/helpdata/en/4b/f40f2cc0c33de4e10000000a42189e/content.htm. Pay attention and read the note too.

Hope this helps.

Regards.

Answers (1)

Answers (1)

stefan_grube
Active Contributor

Your XSLT will work in PI 7.1 and PI 7.31 the same way, there is no need to change anything.

Just click "use SAP XML Toolkit" flag in operation mapping.