把xml转化为soapmessage_如何将SOAPBody转换为String

从SOAPMessage开始时,最简单的方法是使用writeTo方法:

ByteArrayOutputStream stream = new ByteArrayOutputStream();

soapMessage.writeTo(stream);

String message = new String(stream.toByteArray(), "utf-8")

(上面,我假设您的SAAJ实现将使用UTF-8,您可能想要检查).

如果从SOAPBody开始,那么您可能应该使用XML API,看到SOAPBody是org.w3.dom.Element,最简单的方法可能是使用TrAX:

SOAPBody element = ... // Whatever

DOMSource source = new DOMSource(element);

StringWriter stringResult = new StringWriter();

TransformerFactory.newInstance().newTransformer().transform(source, new StreamResult(stringResult));

String message = stringResult.toString();

(对不起,我这里没有我的IDE,无法检查这是否编译,但那应该非常接近).

请注意:序列化的SOAPMessage可能不是原始XML:它可能是MIME结构:如果SOAPMessage实际使用SwA(SOAP With Attachment)或MTOM.但是,SOAPBody绝对是纯XML.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值