2010-03-12 70 views
0

我需要連接到https url,發送我的請求架構,並且我會從web服務獲得一些xml響應。從https調用Web服務並解析Java中的響應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對象。

我有很多關於這個的goggled,並獲得各種解決方案,但我混淆了選擇適當的解決方案。

如果任何人有建議,有一些樣本例子,那麼請提供..

在此先感謝...

編輯:上面提到的HTTPS響應不是肥皂

回答

1

如果這是一個SOAP服務,那麼你應該使用SOAP客戶端API,而不是像Spring-WS或JAX-WS。

+0

感謝邁克的迴應,但它是一個簡單的XML不是肥皂。 – Nirmal 2010-03-12 13:21:17

0

我們使用地鐵庫這一點,這需要Java 1.5和Java中6包含

然後你得到一個DOM樹的結果,然後可以很容易地進行後處理。

我們使用IntelliJ IDEA將使用Metro的WSDL轉換爲Java源代碼。

0

我建議在看看蓖麻(http://www.castor.org/xml-mapping.html) - 這是一個非常簡單的方法將XML映射到的POJO。 它根據您的XML模式生成Java類(在您的情況下是WSDL文件)。

當你完成解析響應很簡單,只要:

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

Castor是比較快的(一旦它的回暖),但如果你的XML響應是「巨大的」,你可能需要重新考慮和使用例如,Stax(http://stax.codehaus.org/Home)。