Добрый день! Может кто подскажет.
Есть простенький xml файлик на входе:
Code:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header/>
<soap:Body> <m:GetReferenceDataResponse xmlns:m="http://www.cargo3.ru">
<m:return xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<m:Key>Currencies</m:Key>
</m:return>
</m:GetReferenceDataResponse></soap:Body>
</soap:Envelope>
Для получения данных из него пишу xslt трансформацию в транзакции STRANS:
Code:
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:sap="http://www.sap.com/sapxsl"
xmlns:asx="http://www.sap.com/abapxml"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<xsl:strip-space elements="*"/>
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:output indent="yes"/>
<xsl:template match="soap:Envelope">
<asx:abap version="1.0">
<asx:values>
<HEADER>
<TEST>
<xsl:value-of select="/soap:Envelope/soap:Body/m:GetReferenceDataResponse/m:return/m:Key"/>
</TEST>
</HEADER>
</asx:values>
</asx:abap>
</xsl:template>
</xsl:transform>
Code:
DATA: BEGIN OF ls_header_out,
test TYPE string,
END OF ls_header_out.
CALL TRANSFORMATION 'ZTEST_TRANS'
SOURCE XML lv_xml_content_res
RESULT header = ls_header_out.
Но почему то данные не удаётся получить этой трасформацией(ls_header_out-test пустая после выполнения трансформации). В чём может быть проблема?