Как преобразовать байтовый массив сообщения SOAP в необработанный XML в Java
Я работаю над веб-сервисом, сервисы общаются друг с другом с помощью SOAPMessage (SOAP XML). SOAPMessage входит в мой метод как байтовый массив
public void process(byte xmlByteArray[]){ ... ..... }
мне нужно преобразовать этот байтовый массив в необработанный XML, чтобы я мог обработать его с помощью JDOM.
Вы знаете какое-нибудь решение этой проблемы?
3 ответа
Решение
SAXBuilder builder = new SAXBuilder();
Document document = builder.build(new ByteArrayInputStream(xmlByteArray));
См. http://www.java2s.com/Code/Java/XML/ReadanXMLdocumentusingJDOM.htm
Попробуй это:
public static Document byteArrayToDocument( final byte[] byteArray ) throws IOException, SAXException,
ParserConfigurationException
{
final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
final DocumentBuilder builder = factory.newDocumentBuilder();
return builder.parse( new ByteArrayInputStream( byteArray ) );
}
Вот как это сделать в VTD-XML
импорт com.ximpleware.*;
public class readBytes{
public static void main(String[] s} throws VTDException{
VTDGen vg = new VTDGen();
//get XML Byte array here
vg.setDoc(xmlByteArray);
vg.parse();
VTDNav vn = vg.getNav();
}
}