[英]Getting raw XML response from Java web service client
我正在嘗試從 Web 服務獲取原始 XML 響應,而不是通常的 POJO 集。
我正在使用從 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 處理程序
文章
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.