【问题标题】:Remove soap header from message response从消息响应中删除soap标头
【发布时间】:2015-04-16 20:14:30
【问题描述】:

如何删除

<soapenv:Header xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">

来自使用 Java(或 Web 服务配置)的响应消息的节点?

我不想发回标题中显示的用户名和密码。我是否创建一个类来扩展AbstractSoapInterceptor?

我正在使用 `cxf bus 来配置我的网络服务。

【问题讨论】:

  • 您是否对响应重用相同的 SOAP 消息?为什么不创建一个新的?

标签: java web-services soap cxf


【解决方案1】:

我不知道您是如何接收 SOAP 消息的,但如果您可以使用(或实例化)javax.xml.soap.SOAPMessage,则可以删除困扰您的标头元素或属性:

// Removes the attribute "key" from the message header
message.getSOAPHeader().removeAttribute("key");

无论如何,重复使用相同的消息对我来说听起来很奇怪,也许您应该考虑创建一个新的新响应消息:

这句话创造了一个全新的信息:

MessageFactory mf = MessageFactory.newInstance();
SOAPMessage message = mf.createMessage(headers, in)

这个,来自 Mime 标头和输入流:

MessageFactory mf = MessageFactory.newInstance();
SOAPMessage message = mf.createMessage(headers, in)

【讨论】:

  • 我解决了我的问题。对于我的特定场景,我有一个包含
猜你喜欢
  • 2014-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-24
  • 2019-11-12
  • 1970-01-01
  • 1970-01-01
  • 2013-12-09
相关资源
最近更新 更多