1

I'm new at using xsl. I need to transform the following SOAP ws response. I have the following XML input:

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:NS1="urn:ECGTSIncomingSoapWebServiceIntf-IIncomingWebService" xmlns:NS2="urn:unECGIncomingSoapGlobal">
    <NS1:RequestResponse>
        <return href="#1"/>
    </NS1:RequestResponse>
    <NS2:TECGIncomingResponse id="1" xsi:type="NS2:TECGIncomingResponse">
        <Error xsi:type="xsd:int">0</Error>
        <ErrorMsg xsi:type="xsd:string"></ErrorMsg>
        <Output xsi:type="xsd:string">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</Output>
        <OutputHash xsi:type="xsd:string">877C40EB46C09F7C2066CADF3EEF4E12D2D5CE15</OutputHash>
        <OutputKey xsi:type="xsd:string"></OutputKey>
        <OutputKeyHash xsi:type="xsd:string"></OutputKeyHash>
        <OutputSecuence xsi:type="xsd:string">20170102112384225</OutputSecuence>
    </NS2:TECGIncomingResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

I'm trying to extract <Output> and <Error> tags value using XSL template. I have tried:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<xsl:template match="/">
<xsl:value-of select="SOAP-ENV:Envelope/SOAP-ENV:Body/NS2:TECGIncomingResponse/Output"/>
<xsl:value-of select="SOAP-ENV:Envelope/SOAP-ENV:Body/NS2:TECGIncomingResponse/Output"/>
</xsl:template>
</xsl:stylesheet>

But it throws an error. I think is not very complex! How can i get that result? Thanks a lot!

2
  • You forgot to define the prefix mapping for NS2: xmlns:NS2="urn:unECGIncomingSoapGlobal" Commented Jan 4, 2017 at 2:31
  • Thanks a lot @teppic !! Little mistake! It was helpful! Commented Jan 4, 2017 at 3:09

1 Answer 1

1
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:NS2="urn:unECGIncomingSoapGlobal">    
<xsl:template match="/">
    <xsl:value-of select="SOAP-ENV:Envelope/SOAP-ENV:Body/NS2:TECGIncomingResponse/Error"/>
    <xsl:value-of select="SOAP-ENV:Envelope/SOAP-ENV:Body/NS2:TECGIncomingResponse/Output"/>
</xsl:template>
</xsl:stylesheet>

That Worked for me!! I forgot to define the prefix mapping for NS2: xmlns:NS2="urn:unECGIncomingSoapGlobal

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.