从邮件响应中删除soap标头

时间:2015-04-16 20:14:31

标签: java web-services soap cxf

如何删除

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

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

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

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

1 个答案:

答案 0 :(得分:0)

我不知道您是如何收到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)