public String parserXml(XMLParseSafeCallRes xMLParseSafeCallRes, String returnXml)
throws BusinessException {
XMLSafeResHeader resHeader = null;
InputStream strm = null;
InputSource source = null;
try {
XMLReader parser = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
parser.setErrorHandler(new XMLErrorHandler());
parser.setContentHandler(xMLParseSafeCallRes);
// 启用验证(暂时不校验)
parser.setFeature("http://xml.org/sax/features/validation", false);
parser.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
strm = new ByteArrayInputStream(returnXml.getBytes());
source = new InputSource(strm);
// 开始解析文档
parser.parse(source);
resHeader = (XMLSafeResHeader) xMLParseSafeCallRes.getBean().getResBO().getHeader();
} catch (Exception e) {
throw new BusinessException(e.getMessage(), ExceptionCode.InnerError);
}
return resHeader.getResultcode();
}
原代码是用文件流现在改成请求第3方URL返回XML字符串报出“java.net.MalformedURLException: no protocol”异常,解决办法,加入粉色的代码