2017-11-07 8 views
0

datapowerを使用してURL書き換えをセットアップしようとしています。お客様からのリクエストは、/ products/{productid}/{productid}の形式で顧客から入力されます。{productid}は各顧客ごとに変更されますので、フォーマットを/ balance/products/{productid}に変更する必要があります。 Websphereでは複数のコンテキスト・ルーツを必要としません。私はMPGWをセットアップしましたが、Perlで書かれているはずの上記のリクエストを変更するための正しい変数を入れることができません。私は正しくそれを得た場合Datapower Gatewayを使用したURL書き換え

答えて

0

、OUこのようなXSL-変換が含まれていますリクエスト・ルールウィッヒでポリシーを作成する必要があります。

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:dp="http://www.datapower.com/extensions" 
    extension-element-prefixes="dp" 
    exclude-result-prefixes="dp" > 

    <xsl:template match="/"> 
    <xsl:variable name="originalUrl" select="dp:variable('var://service/URI')"/> 
    <xsl:variable name="productId" select="substring-before(substring-after($originalUrl, '/products/'), '/balance')"/> 
    <xsl:variable name="modifiedUrl" select="concat('/balance/products/', $productId)"/> 

    <!--Set your own destination host ofc--> 
    <dp:set-variable name="'var://service/routing-url'" value="concat('http://127.0.0.1', $modifiedUrl)"/> 
    </xsl:template> 
</xsl:stylesheet> 

VAR:/ URIはURLが含まれている読み取り専用サービス変数は//サービスですHTTP要求からの-path var:// service/routing-urlは、ルーティング用のURIを含む書き込み可能なサービス変数です

関連する問題