Ich habe versucht, mehrere Knotensets in einem XSLT-Vermittler in WSO2 ESB über Parameter an das Stylesheet zu übergeben. Wenn Sie jedoch versuchen, auf die im XSLT-Prozessor übergebenen Parameter zu verweisen, wird angegeben, dass die Werte Zeichenfolgetypen sind.Wie kann ich mehrere Datenquellen in einen XSLT-Mediator in WSO2 einbinden? ESB
Der XSLT Mediators selbst Config ist wie folgt strukturiert:
<xslt key="conf:/Test/TestMapping.xsl">
<property xmlns:ns="http://org.apache.synapse/xsd" xmlns:ns3="http://org.apache.synapse/xsd" name="originalMsg" expression="get-property('OriginalMsg')" />
</xslt>
im XSLT selbst wenn der übergebenen Parameter auf ein Element in diesen Daten zu beziehen, um zu versuchen verwendet wird, z.B.
Der Fehler meldet, dass die Operation "/" nicht auf eine Zeichenfolge angewendet werden kann, wenn ein Knotenset erwartet wird.
Ich habe auf dem nodeset passieren versucht, die der mesage Körper aus einem vorherigen Schritt in der Strömung, die ich verschiedene medthods versucht haben, zu speichern:
Durch Enrich Vermittler:
<enrich>
<source clone="true" type="body" xpath="" property="" />
<target action="replace" type="property" xpath="" property="OriginalMsg" />
</enrich>
Durch Immobilienvermittler:
<property xmlns:ns="http://org.apache.synapse/xsd" xmlns:ns3="http://org.apache.synapse/xsd" name="OriginalMsg" expression="$body" scope="default" type="OM" />
Aber das hat nicht funktioniert.
Oder gibt es eine Möglichkeit, document() in der ESB-Funktion zu verwenden, um auf Nachrichtenkontextdaten oder eine andere Methode zu verweisen?
Welche Version von XSLT unterstützt WS02? Ich vermute, es ist Version 1. In Version 1 können Sie XPath-Ausdruck nicht auf Variablen anwenden. Sie können möglicherweise Erweiterungen wie den Knotensatz von EXSLT verwenden, der eine Zeichenfolgenvariable in einen Knotensatz verwandelt. Es kann jedoch produktiver sein, wenn Sie sehen können, ob Sie WS02 überzeugen können, eine XSLT 2-Engine wie Saxon zu verwenden, da XSLT Version 2 viele lästige Einschränkungen von Version 1 beseitigt – Kevan