2016-01-11 1 views
0

Я новичок в OSB и использую OSB11G. Можем ли мы удалить кодировку UTF-8 из входящей переменной в нашей службе прокси?Любой прокси-сервер на основе XML. Не давая кодировку UTF-8 в полезной нагрузке запроса, все еще после обработки я получаю кодировку UTF-8 в моей входящей переменной

Требование является:

Пожалуйста, удалите: <?xml version="1.0" encoding="UTF-8"?>

Использование:. <?xml version="1.0"?>

ответ

0

«Атрибут кодировки в объявлении XML является обязательным полем Следовательно,

<?xml version="1.0"?> 

не является val Я бы. Что вы можете сделать, чтобы полностью удалить объявление с чем-то вроде

TransformerFactory tf = TransformerFactory.newInstance(); 
Transformer transformer = tf.newTransformer(); 
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); 
StringWriter writer = new StringWriter(); 
transformer.transform(new DOMSource(doc), new StreamResult(writer)); 
+0

Спасибо за ответ ArK. Интересно, можно ли это сделать. Еще одна вещь, если вы можете мне помочь. Мой клиентский синтаксический анализатор не принимает , вместо этого он требует .... –

+0

Это, по-видимому, не является ограничителем анализатора, но скорее имеет проблему с Схемой. Из вашего утверждения я заключаю, что вы проверяете XML и что вы получаете ошибку, не так ли? Если это так, это происходит из-за того, что схема недостижения имеет определение элемента с пустым содержимым, как:

+0

Спасибо за помощь. –

0

кодировкой по умолчанию В Oracle Service Bus для HTTP для входящих транспортов является ISO-8859-1 и для исходящих транспортов HTTP является UTF-8, и я предпочел бы используя его, если нет причин не делать этого.

Сказав это, вы можете настроить другую кодировку. Я предполагаю, что вы используете прокси на основе XML и используете HTTP Transport. На странице «Конфигурация транспорта HTTP» вы можете настроить кодировку «Запрос» и «Ответное кодирование».

Более подробная информация доступна in the OSB Documentation.

Смежные вопросы