从HTTPS调用Web服务并解析Java中回应XML数据
-
19-09-2019 - |
题
我需要与HTTPS URL连接,发送我的请求架构和我将得到web服务的一些XML响应。
有关HTTPS URL连接我使用:
URL myurl = new URL(httpsURL);
HttpsURLConnection con = (HttpsURLConnection)myurl.openConnection();
con.setDoOutput(true);
con.setDoInput(true);
con.setUseCaches(false);
con.setRequestProperty("Content-type","text/xml");
所以,从上面的代码我正在从服务器响应XML。现在我的问题是,这将是最好的解析器我回应的XML数据解析到我的简单Java对象。
我有很多瞪大眼睛上,并获得不同的解决方案,但我有混淆为选择合适的一个。
如果有人有建议用一些示例实施例,那么请提供..
预先感谢...
修改强>:以上HTTPS响应不是皂
其他提示
如果这是SOAP服务然后你应该使用SOAP客户端API,而不是像Spring-WS或JAX-WS。
我们使用地铁库这一点,这需要Java 1.5且包含在Java 6中。
您然后得到一个DOM树的结果,然后可以很容易地进行后处理。
我们使用IntelliJ IDEA的使用地铁WSDL到Java源转化。
我建议在看看蓖麻( http://www.castor.org/ XML-mapping.html ) - 这是一个非常简单的方法将XML映射到的POJO。 它产生(在你的情况下,WSDL文件)基于XML模式的Java类。
当你完成解析响应是简单的:
StringReader sr = new StringReader(inMessageString);
YourSoapResponse response = (YourSoapResponse)Unmarshaller.unmarshal(YourSoapResponse.class, sr);
Castor是比较快的(一旦它的回暖),但如果你的XML响应是“巨大的”,你可能需要重新考虑和使用斯塔克斯(的 http://stax.codehaus.org/Home )例如
不隶属于 StackOverflow