Parameter | Description |
Condition | Conditions are used to specify when the policy has to be executed. We can add multiple conditions with logical operators. Available values are: ![]() ![]() Click Add Condition and provide the following information and click ![]() ![]() ![]() ![]() ![]() ${response.payload.xpath[//ns:emp/ns:empName]} where //ns:emp/ns:empName is the xpath to be applied on the payload if contentType is application/xml ${response.payload.jsonPath[$.cardDetails.number]} where $.cardDetails.number is the jsonPath to be applied on the payload if contentType is application/json ${response.payload.regex[[0-9]+]} where [0-9]+ is the regex to be applied on the payload if contentType is text/plain ![]() For example: ${response.payload.xpath[//ns:emp/ns:empName] || response.payload.jsonPath[$.cardDetails.number]} This applies xpath for application/xml and jsonPath for application/json ${response.payload.xpath[//ns:emp/ns:empName] || response.payload.jsonPath[$.cardDetails.number] || response.payload.regex[[0-9]+]} This applies xpath for application/xml, jsonPath for application/json, and regex for text/plain. ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Transformation Configuration. Specifies various transformations to be configured. | |
Header/Query/Path Transformation for REST API and Header Transformation for SOAP API | Specifies the Header, Query or path transformation to be configured for the responses received from the native API. You can add or modify header, query or path transformation parameters by providing the following information: ![]() ![]() ![]() ![]() ${response.payload.xpath[//ns:emp/ns:empName]} where //ns:emp/ns:empName is the xpath to be applied on the payload if contentType is application/xml ${response.payload.jsonPath[$.cardDetails.number]} where $.cardDetails.number is the jsonPath to be applied on the payload if contentType is application/json ${response.payload.regex[[0-9]+]} where [0-9]+ is the regex to be applied on the payload if contentType is text/plain ![]() For example: ${response.payload.xpath[//ns:emp/ns:empName] || response.payload.jsonPath[$.cardDetails.number]} This applies xpath for application/xml and jsonPath for application/json ${response.payload.xpath[//ns:emp/ns:empName] || response.payload.jsonPath[$.cardDetails.number] || response.payload.regex[[0-9]+]} This applies xpath for application/xml, jsonPath for application/json, and regex for text/plain. ![]() ![]() ![]() ![]() ![]() You can add multiple variables and corresponding values by clicking ![]() You can remove any header, query or path transformation parameters by typing the value in the text box. Note: In the 10.2 release, payload transformation does not happen automatically for content-type transformation. When you change the content type, ensure to do payload transformation also as part of IS Service. For example, if you change the content-type header from application/xml to application/json using IS service, you must also change the respective payload from application/xml to application/json |
Status transformation | Specifies the status transformation to be configured for the responses received from the native API. Provide the following information: ![]() ![]() |
Payload Transformation | Specifies the payload transformation to be configured for the responses received from the native API. Provide the following information: ![]() ![]() Click Browse to browse and select a file. ![]() ![]() You can add more XSLT features and xslt documents by clicking ![]() ![]() ![]() When you receive the response in JSON, you can use a XSLT file similar to the below sample: <?xml version="1.0" ?> <xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml"/> <xsl:template match="/" > <xsl:element name="fakeroot"> <xsl:element name="fakenode"> <!-- Apply your transformation rules based on the response received from the native API--> </xsl:element> </xsl:element> </xsl:template> </xsl:stylesheet> When you receive the response in XML, you can use a XSLT file similar to the below sample: <?xml version="1.0" ?> <xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <xsl:output method="xml"/> <xsl:template match="/" > <xsl:element name="soapenv:Envelope"> <xsl:element name="soapenv:Body"> <!-- Apply your transformation rules based on the response received from the native API--> </xsl:element> </xsl:element> </xsl:template> </xsl:stylesheet> |
Advanced Transformation | Specifies the advanced transformation to be configured for the responses received from the native API.. Provide the following information: ![]() You can add multiple services by clicking ![]() Note: The webMethods IS service must be running on the same Integration Server as API Gateway. ![]() ![]() ![]() |
Transformation Metadata. Specifies the metadata for transformation of the responses received from the native API. For example, the namespaces configured in this section can be used when you provide the syntax for XPath ${response.payload.xpath} For example: ${response.payload.xpath[//ns:emp/ns:empName]} | |
Namespace | Specifies the namespace information to be configured for transformation. Provide the following information: ![]() ![]() Note: You can add multiple namespace prefix and URI by clicking ![]() |