0

我需要连接 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 响应不是肥皂

4

4 回答 4

2

我们使用 JAXB https://jaxb.dev.java.net/tutorial/section_3_1-Unmarshalling-and-Using-the-Data.html#Unmarshalling

于 2010-03-12T13:26:46.130 回答
1

如果这是一个 SOAP 服务,那么您应该使用 SOAP 客户端 API,而不是像 Spring-WS 或 JAX-WS。

于 2010-03-12T13:18:25.553 回答
0

我建议看看 Castor ( http://www.castor.org/xml-mapping.html ) - 这是一种将 XML 映射到 POJO 的极其简单的方法。它根据您的 XML 模式(在您的情况下为 WSDL 文件)生成 Java 类。

完成解析后,响应非常简单:

StringReader sr = new StringReader(inMessageString);
YourSoapResponse response = (YourSoapResponse)Unmarshaller.unmarshal(YourSoapResponse.class, sr);

Castor 相对较快(一旦预热),但如果您的 XML 响应“巨大”,您可能需要重新考虑并使用 Stax(例如http://stax.codehaus.org/Home)。

于 2010-07-29T09:23:35.563 回答
0

为此,我们使用 Metro 库,它需要 Java 1.5 并包含在 Java 6 中。

然后,您将获得结果的 DOM 树,然后可以轻松地对其进行后处理。

我们使用 IntelliJ IDEA 使用 Metro 将 WSDL 转换为 Java 源代码。

于 2010-03-12T13:20:20.653 回答