dispatchservicehandler.java

来自「Xfire文件 用于开发web service 的一个开源工具 很好用的」· Java 代码 · 共 45 行

JAVA
45
字号
package org.codehaus.xfire.handler;import org.codehaus.xfire.MessageContext;import org.codehaus.xfire.exchange.OutMessage;import org.codehaus.xfire.fault.XFireFault;import org.codehaus.xfire.soap.handler.SoapBodyHandler;import org.codehaus.xfire.transport.DefaultEndpoint;/** * Reads in the message body using the service binding. *  * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a> */public class DispatchServiceHandler    extends AbstractHandler{    public DispatchServiceHandler()    {        super();        setPhase(Phase.DISPATCH);        after(SoapBodyHandler.class.getName());    }    public void invoke(MessageContext context)        throws XFireFault    {        Boolean b = (Boolean) context.getProperty(DefaultEndpoint.SERVICE_HANDLERS_REGISTERED);        if ((b == null || b.equals(Boolean.FALSE)) && context.getService() != null)        {            context.getInPipeline().addHandlers(context.getService().getInHandlers());        }                if (context.getExchange().hasOutMessage())        {            HandlerPipeline pipeline = new HandlerPipeline(context.getXFire().getOutPhases());            pipeline.addHandlers(context.getService().getOutHandlers());            pipeline.addHandlers(context.getXFire().getOutHandlers());            OutMessage msg = context.getExchange().getOutMessage();            pipeline.addHandlers(msg.getChannel().getTransport().getOutHandlers());            context.setOutPipeline(pipeline);        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?