从Java Web服务客户端获取原始XML响应(Getting raw XML response f

2019-06-27 02:04发布

我想从一个Web服务的原始XML响应,而不是通常的组POJO。

我使用我生成一个Web服务客户端(这样我就可以访问客户端的代码)从WSDL和一些模式。 该客户端在RAD 7.5生成的,我想用JAX-WS。 我一直在寻找的客户端代码本身,但我也不知道,如果客户端代码处理过的原始XML或者如果它通过其关闭以其他库。

Answer 1:

你可以用它做

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处理程序
文章



Answer 2:

它没有被广泛记载,但可以使用派遣接口来实现JAXWS客户直接工作瓦特/ XML。 这里和这里是开始一些文章。



文章来源: Getting raw XML response from Java web service client