domouthandler.java
来自「Xfire文件 用于开发web service 的一个开源工具 很好用的」· Java 代码 · 共 62 行
JAVA
62 行
package org.codehaus.xfire.util.dom;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import org.codehaus.xfire.MessageContext;import org.codehaus.xfire.XFireRuntimeException;import org.codehaus.xfire.exchange.OutMessage;import org.codehaus.xfire.handler.AbstractHandler;import org.codehaus.xfire.handler.Phase;import org.codehaus.xfire.soap.handler.SoapSerializerHandler;import org.codehaus.xfire.soap.handler.FaultSoapSerializerHandler;import org.codehaus.xfire.util.stax.W3CDOMStreamWriter;import org.w3c.dom.Document;/** * Creates a org.w3c.dom.Document for the outgoing message and sets the * outgoing message's serializer to a DOMSerializer. * <p> * To access the DOM simply do: * <pre> * OutMessage msg = context.getOutMessage(); * Document doc = (Document) msg.getProperty(DOMOutHandler.DOM_MESSAGE); * </pre> */public class DOMOutHandler extends AbstractHandler{ public static final String DOM_MESSAGE = "dom.message"; private DocumentBuilder builder; public DOMOutHandler() { super(); setPhase(Phase.POST_INVOKE); after(SoapSerializerHandler.class.getName()); before(FaultSoapSerializerHandler.class.getName()); try { builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); } catch (ParserConfigurationException e) { throw new XFireRuntimeException("Couldn't create DocumentBuilder.", e); } } public void invoke(MessageContext context) throws Exception { OutMessage message = (OutMessage) context.getCurrentMessage(); W3CDOMStreamWriter writer = new W3CDOMStreamWriter(builder); message.getSerializer().writeMessage(message, writer, context); Document doc = writer.getDocument(); message.setProperty(DOM_MESSAGE, doc); message.setSerializer(new DOMSerializer()); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?