我試圖從Web服務獲取原始XML響應,而不是通常的POJO集。從Java Web服務客戶機獲取原始XML響應
我正在使用從WSDL和某些模式生成的Web服務客戶端(因此我有權訪問客戶端的代碼)。客戶端在RAD 7.5中生成,我認爲使用JAX-WS。我一直在查看客戶端代碼本身,但我甚至不確定客戶端代碼是否處理過原始XML或者是否將它傳遞給其他庫。
我試圖從Web服務獲取原始XML響應,而不是通常的POJO集。從Java Web服務客戶機獲取原始XML響應
我正在使用從WSDL和某些模式生成的Web服務客戶端(因此我有權訪問客戶端的代碼)。客戶端在RAD 7.5中生成,我認爲使用JAX-WS。我一直在查看客戶端代碼本身,但我甚至不確定客戶端代碼是否處理過原始XML或者是否將它傳遞給其他庫。
可以使用
javax.xml.ws.handler.soap.SOAPHandler<javax.xml.ws.handler.soap.SOAPMessageContext>
您可以使用SOAPMessageContext#getMessage()
簡單地獲取信息和使用方法
public static String getXmlMessage(SOAPMessage message) throws Exception
{
ByteArrayOutputStream os = new ByteArrayOutputStream();
message.writeTo(os);
final String encoding = (String) message.getProperty(SOAPMessage.CHARACTER_SET_ENCODING);
if (encoding == null)
{
return new String(os.toByteArray());
}
else
{
return new String(os.toByteArray(), encoding);
}
}
你也可以在這裏閱讀有關客戶端SOAP處理程序轉換消息字符串做
Article
好的,雖然我不知道如何將此字符串返回到我的主應用程序。 – FrustratedWithFormsDesigner 2012-08-17 16:31:03
我在我的項目中使用這種構造來處理日誌中的打印請求/響應。 – Ilya 2012-08-17 20:16:18
你可以創建全局變量ArrayList,並把所有的字符串給它 – Ilya 2012-08-17 20:16:56