java – 解析Web服务响应时的MalformedURLException
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 解析Web服务响应时的MalformedURLException,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1473字,纯文字阅读大概需要3分钟。
内容图文
![java – 解析Web服务响应时的MalformedURLException](/upload/InfoBanner/zyjiaocheng/731/0221217fd95548f38a31bf489c9d2961.jpg)
所以我正在尝试编写一个简单的Web服务来获取当前的天气.使用以下代码,可以调用Web服务方法,并可以将返回的XML数据打印到控制台.
但是,当我尝试解析此方法响应时,我得到MalformedURLException.我可以看到我想在错误中解析的XML.
所以我尝试将响应保存到文件中以解析它:
当我尝试将Web响应保存到文件时,我会收到所有中文字母. System.out.println将XML完美地打印到控制台,就像我需要它在文件中一样.
我是一个新手,所以请原谅我,如果我错过了一些非常简单的事情.我想这样做而不必在本地保存文件,但无论什么工作都很好.
我的问题出在这段代码中:
GlobalWeather service = new GlobalWeather();
GlobalWeatherSoap port = service.getGlobalWeatherSoap();
String data = port.getWeather(city, country);
// this prints the xml response to the console perfectly
System.out.println(data);
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
SAXParser saxParser = spf.newSAXParser();
XMLReader xmlReader = saxParser.getXMLReader();
xmlReader.setContentHandler(new WeatherApp());
// this gives MalformedURLexception when set up this way.
// this gives the correct output when passed a locally stored XML file
// I have omitted my SAX methods and my weather class that holds the data
// but all work fine when using a local XML file on my machine.
xmlReader.parse(data);
解决方法:
更换
xmlReader.parse(data);
同
InputSource source = new InputSource(new StringReader(data));
xmlReader.parse(source);
您无意中调用了错误的SAXReader.parse重载.采用String的版本需要一个URI,它可以检索要解析的内容,而不是内容本身.
内容总结
以上是互联网集市为您收集整理的java – 解析Web服务响应时的MalformedURLException全部内容,希望文章能够帮你解决java – 解析Web服务响应时的MalformedURLException所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。