当前位置: 首页 > 面试题库 >

从Java Web服务客户端获取原始XML响应

池阳伯
2023-03-14
问题内容

我试图从Web服务而不是通常的POJO集合中获取原始XML响应。

我正在使用从WSDL和某些模式生成的Web服务客户端(因此我可以访问该客户端的代码)。该客户端是在RAD 7.5中生成的,我认为是使用JAX-
WS。我一直在研究客户端代码本身,但是我什至不确定客户端代码是否处理过原始XML或是否将其传递给其他库。


问题答案:

您可以使用

javax.xml.ws.handler.soap.SOAPHandler<javax.xml.ws.handler.soap.SOAPMessageContext>

您可以SOAPMessageContext#getMessage()使用方法简单地获取消息并将消息转换为String

   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处理程序的信息。



 类似资料:
  • 这是我关于StackOverflow的第一个问题,我希望我遵守了预期的标准。 我已经从不再在这里工作的其他人那里接管了一些代码,我几乎被困在这里。我搜索并询问了一些同事(不幸的是没有太多Java经验),但似乎没有人能帮助我。搜索也没有真正帮助我。 我正在从客户端向Netty服务器发送Json请求,故意不使用Netty实现。目前它只是一个简单的Java套接字,但其目的是让Flask客户端向Netty

  • 我有一个基于GWT RestyGWT和Spring的应用程序 我正在尝试在客户端站点上进行一些用户友好的异常处理。 我在服务器端有一些抛出异常的方法: 它在客户端称为异步,并在那里处理: 如何获取原始错误消息和类(“金额为负”和CustomException)?我能从方法和可丢弃的变量中得到的只有: 错误代码=500 响应消息=“内部服务器错误” 可丢弃的是组织。fusesource。restyg

  • 在调用writeAndFlush()之后,我不知道如何从服务器检索响应;我该怎么办? 我也使用Netty 4.0.18.final

  • 问题内容: 我使用AXIS2创建的ADB存根访问SOAP服务。我想记录服务返回的任何Axis Fault的原始XML响应。我可以将这些错误捕获为“ ServiceError”。但是,我找不到找到原始XML的方法(请参见下面的示例)。 我找到了一种使用getOMElement访问原始XML请求/响应以进行常规处理的方法(请参见下面的示例)。但是,这不适用于故障。 如何使用ADB存根获取原始XML错误

  • 问题内容: 我正在使用OkHttp客户端和Jackson的Retrofit进行Json序列化,并想获取响应的标头。 我知道我可以扩展OkClient并拦截它。但这是在反序列化过程开始之前进行的。 我基本上需要的是将标头与反序列化的Json Object一起使用。 问题答案: 在Retrofit 1.9.0中,如果您使用接口的回调异步版本, 然后您的回调将收到一个对象 其中有一个方法叫做 对于Ret

  • 我有一个Tcp客户端,连接到一个旧的主机(52年),发送和接收来自它的请求和响应。 这是我的客户机的核心连接部分, 我试图用Netty重写下面的文章。通过使用以下教程作为参考。 http://tutorials.jenkov.com/netty/netty-tcp-client.html 我面临的问题是我能够连接到服务器,但不能从中读写。我正在使用一个来执行读写操作。 这是我的脾气暴躁的客户 处理