Когда я писал XML в Oracle Table (тип столбца как XMLTYPE), он писал без отображения какого-либо типа кодировки. Это текущий процесс, достигаемый с помощью Java. Мы переносим этот процесс на Mule. В Mule xml записывается в ту же таблицу, но после записи я вижу формат кодирования в этом XML. Не уверен, как это происходит, это не настоящий xml.
XML в таблице при вставке с использованием Java
<?xml version="1.0"?>
При использовании мула
<?xml version="1.0" encoding="US-ASCII"?>
Код, используемый в Mule для вставки XML, приведен ниже.
'REQUEST_XML' : write(payload, 'application/xml'),
Это моя вставка
insert into xmlpkg.REQ_RESP (ID, REQUEST_XML) values (xmlpkg.SEQ_DV.nextval,
:REQUEST_XML )
Я даю ниже в моих входных параметрах
{
'REQUEST_XML' : write(payload, 'application/xml')
}
Моя полезная нагрузка - это XML-файл, но он будет представлен в виде текста, я не могу его изменить.
<DRIVERequest Version="1.00">
<Authentication PortalID="*****" Password="*******" Username="*******"/>
</DRIVERequest>
Это то, что я вижу в журнале непосредственно перед операцией вставки.
Before DB operation : "<?xml version='1.0' encoding='UTF-8'?>\n<DRIVERequest
Version=\"1.00\">\n <Authentication PortalID=\"*****\" Password=\"*******\"
Username=\"*******\"/>\n</DRIVERequest>"
Моя трансформация
%dw 2.0
output application/json
---
{
requestXML : write(payload, 'application/xml')
}
Во входных аргументах я использую это, как показано ниже
{
'REQUEST_XML': payload.requestXML
}
В журнале я вижу UTF-8, но после операции вставки он отображается как кодировка = US-ASCII
"after insert operation its showing as encoding="US-ASCII"
? - person Harshank Bansal   schedule 08.03.2021encoding
writer. Просто изменитеwrite(payload, 'application/xml')
наwrite(payload, 'application/xml', {encoding: 'UTF-8 '})
Ссылка: docs.mulesoft.com /mule-runtime/4.3/ - person Harshank Bansal   schedule 08.03.2021