У меня есть вызов Java в службе OSB, чтобы выполнить простой запрос на выборку из базы данных. Java-код преобразует этот набор результатов в формат XML, а затем возвращает этот XML-файл как string.but всякий раз, когда я пытаюсь использовать эти данные в преобразовании xquery в ответной переменной показано только следующее:
<con:java-content ref="jcid:2120886c:168088e4a35:-524c" xmlns:con="http://www.bea.com/wli/sb/context"/> .
я подозреваю, что OSB не может обработать строку xml.
код для преобразования результирующего набора в строку xml:
private static String toXML(ResultSet rs) throws SQLException {
ResultSetMetaData rsmd = rs.getMetaData();
int colCount = rsmd.getColumnCount();
StringBuffer xml = new StringBuffer();
xml.append("<ns1:OutputCollection xmlns:ns1=\"http://xmlns.oracle.com/namespace\">");
while (rs.next()) {
xml.append("<ns1:Output>");
for (int i = 1; i <= colCount; i++) {
String columnName = rsmd.getColumnName(i);
Object value = rs.getObject(i);
xml.append("<ns1:" + columnName + ">");
if (value != null) {
xml.append(value.toString().trim());
}
xml.append("</ns1:" + columnName + ">");
}
xml.append("</ns1:Output>");
}
xml.append("</ns1:OutputCollection>");
return xml.toString();
}