2017-11-07 7 views
0

datapower를 사용하여 URL 재 작성을 설정하려고합니다. 다음과 같은 형식으로 고객으로부터 요청을받습니다. -/products/{productid}/balance {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을 포함하는 읽기 전용 서비스 변수는 // 서비스 -path HTTP 요청에서 var : // service/routing-url은 라우팅을위한 URI를 포함하는 쓰기 가능한 서비스 변수입니다.