我是OSB的新手,並且使用OSB11G。我們可以在代理服務中從入站變量中刪除UTF-8編碼嗎?任何基於XML的代理服務。在請求有效負載中不給UTF-8編碼,仍然處理後,我在我的入站變量中獲得UTF-8編碼
要求是:
請刪除:<?xml version="1.0" encoding="UTF-8"?>
使用:<?xml version="1.0"?>
我是OSB的新手,並且使用OSB11G。我們可以在代理服務中從入站變量中刪除UTF-8編碼嗎?任何基於XML的代理服務。在請求有效負載中不給UTF-8編碼,仍然處理後,我在我的入站變量中獲得UTF-8編碼
要求是:
請刪除:<?xml version="1.0" encoding="UTF-8"?>
使用:<?xml version="1.0"?>
在XML聲明中的「編碼屬性是必填字段因此,
<?xml version="1.0"?>
不是val ID。你可以做的是要的東西完全刪除聲明像
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));
爲HTTP入站傳輸Oracle服務總線的默認編碼是ISO-8859-1和對於HTTP傳輸出境是UTF-8,我寧願除非有理由不使用它。
話雖如此,有一種方法可以配置不同的編碼。我假設您正在使用基於XML的代理並使用HTTP傳輸。在HTTP傳輸配置頁面上,您可以配置請求編碼和響應編碼。
進一步的細節可用in the OSB Documentation。
感謝您的回答阿爾克。想知道這是否可以做到。還有一件事,如果你能幫助我。我的客戶端系統解析器不接受 ,而是它要求 .... –
這似乎不是解析器的限制,但更可能是架構問題。從你的陳述中,我得出結論認爲你驗證了XML並給了你一個錯誤,對吧?如果是這樣,這是因爲下層Schema定義了一個包含空內容的元素,就像: –
感謝您的幫助。 –