У меня есть API, который будет возвращать данные XML, я хочу использовать datamapper для сопоставления некоторых данных, а затем вернуть их клиенту, но API после использования DataMapper продолжает возвращать значение null.
см. ниже
<?xml version = "1.0" encoding = "UTF-8"?>
<api context = "/AllAdByCRN" name = "AllAdByCRN" xmlns = "http://ws.apache.org/ns/synapse">
<resource methods = "POST">
<inSequence>
<payloadFactory media-type = "xml">
<format>
<soapenv:Envelope format = "soap11" xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd = "http://www.w3.org/2001/XMLSchema" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header/>
<soapenv:Body>
<GetCustomerWaselNotCancelled xmlns = "http://tempuri.org/">
<userName></userName>
<password></password>
<id></id>
<idType></idType>
<sequenceNumber></sequenceNumber>
<laborOffice></laborOffice>
</GetCustomerWaselNotCancelled>
</soapenv:Body>
</soapenv:Envelope>
</format>
<args/>
</payloadFactory>
<header name = "Action" scope = "default" value = ""/>
<call>
<endpoint>
<http format = "soap11" method = "post" uri-template = "">
<timeout>
<duration>17000000</duration>
<responseAction>fault</responseAction>
</timeout>
<suspendOnFailure>
<initialDuration>-1</initialDuration>
<progressionFactor>1</progressionFactor>
</suspendOnFailure>
<markForSuspension>
<retriesBeforeSuspension>0</retriesBeforeSuspension>
</markForSuspension>
</http>
</endpoint>
</call>
<property expression = "json-eval($.*)" name = "responseData" scope = "default" type = "STRING"/>
<property name = "messageType" scope = "axis2" type = "STRING" value = "application/json"/>
<datamapper config = "gov:datamapper/NewConfig.dmc" inputSchema = "gov:datamapper/NewConfig_inputSchema.json" inputType = "JSON" outputSchema = "gov:datamapper/NewConfig_outputSchema.json" outputType = "XML" xsltStyleSheet = "gov:datamapper/NewConfig_xsltStyleSheet.xml"/>
<log level = "custom">
<property expression = "json-eval($.*)" name = "responseData"/>
</log>
<respond/>
</inSequence>
<outSequence/>
<faultSequence/>
</resource>
</api>
Я хочу сопоставлять данные только без преобразования из XML в JSON.
Я предпочитаю делать это с помощью JavaScript. в любом случае большое спасибо
Вы должны выбрать XML в качестве ввода и вывода:
<datamapper config = "gov:datamapper/NewConfig.dmc" inputSchema = "gov:datamapper/NewConfig_inputSchema.json" inputType = "XML" outputSchema = "gov:datamapper/NewConfig_outputSchema.json" outputType = "XML" xsltStyleSheet = "gov:datamapper/NewConfig_xsltStyleSheet.xml"/>
Вы предоставили недостаточно информации, чтобы понять ваш вопрос. Пожалуйста, предоставьте всю необходимую информацию. Например, конфигурации Datamapper, ответное сообщение, что вы ожидаете после сопоставления данных и т. д.