Topic Resolution: Answered
Viewing 1 reply thread
  • Author
    Posts
    • #12625
      Answered
      Maxim Petrenko
      Participant

        Hello! I’m using web service as requester. So i need to map inner fields in outgoing data for my external app. For example

        Outgoing data before mapping:

        {
            'field1' => {
                'innerField1' => 'val1',
                'innerField2' => 'val2'
            }
        }

        Outgoing data after mapping:


            'newField1' => {
                'newInnerField1' => 'val1',
                'newInnerField2' => 'val2'
            }
        }

        Can i do it using standart mapping interface in web services or by another way?

        Thank you!

      • #12628
        Best Answer
        Renée Bäcker
        Participant

          You need to use XSLT for that:

          <?xml version="1.0" encoding="UTF-8"?>
          <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
              <xsl:output method="xml" encoding="utf-8" indent="yes"/>
              <xsl:template match="@*|node()">
                  <xsl:copy>
                      <xsl:apply-templates select="@*|node()"/>
                  </xsl:copy>
              </xsl:template>
              <xsl:template match="//field1">
                  <xsl:element name="newField1">
                      <xsl:apply-templates select="@*|node()"/>
                  </xsl:element>
              </xsl:template>
              <xsl:template match="//field1/innerField1">
                  <newInnerField1>
                      <xsl:value-of select="//field1/innerField1" />
                  </newInnerField1>
              </xsl:template>
          <xsl:template match="//field1/innerField2">
          <newInnerField2>
          <xsl:value-of select="//field1/innerField2" />
          </newInnerField2>
          </xsl:template>

          </xsl:stylesheet>

      Viewing 1 reply thread
      • The topic ‘ Inner fields mapping in web service’ is closed to new replies.