Я пытаюсь получить тег MedicalResults в следующем xml:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<jsonObject>
<atenciones>
<center>
<n1>13601</n1>
<extra>
<type_id>NI</type_id>
</extra>
</center>
<Remission>
<type>2</type>
<Diagnose>
<illness>xxx</illness>
</Diagnose>
<MedicalResults>
<id_auth>123</id_auth>
<AdditionalData>
<quantity>20</quantity>
</AdditionalData>
</MedicalResults>
</Remission>
</atenciones>
</jsonObject>
</soapenv:Body>
</soapenv:Envelope>
У меня есть итератор внутри последовательности со следующим кодом (WSO2EI v6.4.0):
<?xml version="1.0" encoding="UTF-8"?>
<sequence xmlns="http://ws.apache.org/ns/synapse" name="AtencionTransformacionInSequence">
<log>
<property name="Sequence" value="Starting sequence" />
</log>
<payloadFactory media-type="json">
<format>{"atenciones":$1}</format>
<args>
<arg xmlns:ns="http://org.apache.synapse/xsd" evaluator="xml" expression="get-property('jsonAtenciones')" literal="false" />
</args>
</payloadFactory>
<!-- issue starts here -->
<iterate xmlns:ns="http://org.apache.synapse/xsd" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" continueParent="true" expression="/soapenv:Envelope/soapenv:Body/jsonObject/atenciones/Remission/MedicalResults" sequential="true">
<!-- issue ends -->
<target>
<sequence>
<payloadFactory media-type="json">
<format>{"Remission": $1}</format>
<args>
<arg evaluator="xml" expression="$body/atenciones" literal="false" />
</args>
</payloadFactory>
<log>
<property name="Saving data" value="OK" />
</log>
<send receive="AtencionTransformacionOutSequence" />
</sequence>
</target>
</iterate>
<sequence key="ProgressionInSequence" />
<respond />
</sequence>
Я попробовал следующие инструкции, но журнал продолжает показывать Оценка выражения XPath привела к ошибке
- $ body / jsonObject / atenciones / Remission / MedicalResults
- json-eval ($. JsonObject.atenciones.Remission / MedicalResults)
- // ns: jsonObject / ns: atenciones / ns: Remission / ns: MedicalResults
Но ничего из этого не помогло, как я могу решить проблему?
Большое спасибо заранее.