Topic
1 reply Latest Post - ‏2013-01-31T08:14:19Z by HermannSW
SystemAdmin
SystemAdmin
6772 Posts
ACCEPTED ANSWER

Pinned topic XSLT not executing in route object in mpg with dynamic backend

‏2013-01-30T23:20:40Z |
I have a service that has a REST and SOAP interface hosted on different url paths but on the same port. The best solution I could come up with was using a mpg with dynamic backend. I then created policies that start by matching the url path. They then use a route object with XSLT to set the routing-url variable to a wsp or waf bound to another port.

I used this as a starting point:
http://www-01.ibm.com/support/docview.wss?uid=swg21282684

Here is one of the style sheets:

<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dp="http://www.datapower.com/extensions"
xmlns:dpconfig="http://www.datapower.com/param/config"
extension-element-prefixes="dp"
exclude-result-prefixes="dp dpconfig"
version="1.0">
<xsl:template match="/">

<xsl:variable name="backEndUrl" select="http://10.10.10.10:8888/path/to/app.php" />
<dp:set-variable name="'var://service/routing-url'" value="$backEndUrl" />

</xsl:template>
</xsl:stylesheet>

When I run documents and connections through I don't see the XSLT get executed. I see the url match at the beginning of the policy rule, but then quickly sends to the error rule. I even put some debug output in the XSLT to log, and I don't see any of the output.

Here is what I see in the logs:
Dynamic backend host not specified
No backside route was selected

Am I missing anything here? I can't find any other way to get further debug information in the policy/mpg. What am I missing?
Updated on 2013-01-31T08:14:19Z at 2013-01-31T08:14:19Z by HermannSW
  • HermannSW
    HermannSW
    4246 Posts
    ACCEPTED ANSWER

    Re: XSLT not executing in route object in mpg with dynamic backend

    ‏2013-01-31T08:14:19Z  in response to SystemAdmin
    You are missing single quotes inside double quotes (you did not miss that for dp:set-variable/@name ), this will define the string correctly:
    select=" 'http://10.10.10.10:8888/path/to/app.php' "

    You should have seen an error "... Unbound prefix: http" in the logs.

     
    Hermann<myXsltBlog/> <myXsltTweets/>