⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaultxfire.java

📁 Xfire文件 用于开发web service 的一个开源工具 很好用的
💻 JAVA
字号:
package org.codehaus.xfire;import java.io.IOException;import java.io.OutputStream;import java.util.ArrayList;import java.util.Collections;import java.util.List;import org.codehaus.xfire.handler.AbstractHandlerSupport;import org.codehaus.xfire.handler.DispatchServiceHandler;import org.codehaus.xfire.handler.Phase;import org.codehaus.xfire.service.DefaultServiceRegistry;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.ServiceRegistry;import org.codehaus.xfire.transport.DefaultTransportManager;import org.codehaus.xfire.transport.TransportManager;import org.codehaus.xfire.wsdl.WSDLWriter;/** * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a> * @since Feb 13, 2004 */public class DefaultXFire        extends AbstractHandlerSupport        implements XFire{    private ServiceRegistry registry;    private TransportManager transportManager;    private List inPhases;    private List outPhases;    public DefaultXFire()    {        registry = new DefaultServiceRegistry();        DefaultTransportManager transportManager = new DefaultTransportManager();        transportManager.initialize();                this.transportManager = transportManager;                createPhases();        createHandlers();    }    public DefaultXFire(final ServiceRegistry registry,                        final TransportManager transportManager)    {        this.registry = registry;        this.transportManager = transportManager;        createPhases();        createHandlers();    }    protected void createHandlers()    {        addInHandler(new DispatchServiceHandler());    }    /**     * Creates a default list of phases for this XFire instance.     */    protected void createPhases()    {        inPhases = new ArrayList();        inPhases.add(new Phase(Phase.TRANSPORT, 1000));        inPhases.add(new Phase(Phase.PARSE, 2000));        inPhases.add(new Phase(Phase.PRE_DISPATCH, 3000));        inPhases.add(new Phase(Phase.DISPATCH, 4000));        inPhases.add(new Phase(Phase.POLICY, 5000));        inPhases.add(new Phase(Phase.USER, 6000));        inPhases.add(new Phase(Phase.PRE_INVOKE, 7000));        inPhases.add(new Phase(Phase.SERVICE, 8000));        Collections.sort(inPhases);                outPhases = new ArrayList();        outPhases.add(new Phase(Phase.POST_INVOKE, 1000));        outPhases.add(new Phase(Phase.POLICY, 2000));        outPhases.add(new Phase(Phase.USER, 3000));        outPhases.add(new Phase(Phase.TRANSPORT, 4000));        outPhases.add(new Phase(Phase.SEND, 5000));        Collections.sort(outPhases);    }    protected Service findService(final String serviceName)    {        Service service = getServiceRegistry().getService(serviceName);                if (service == null)        {            throw new XFireRuntimeException("Couldn't find service " + serviceName);        }                return service;    }    public void generateWSDL(final String serviceName, final OutputStream out)    {        try        {            final WSDLWriter wsdl = getWSDL(serviceName);            wsdl.write(out);        }        catch (IOException e)        {            throw new XFireRuntimeException("Couldn't generate WSDL.", e);        }    }    private WSDLWriter getWSDL(final String serviceName)    {        final Service service = findService(serviceName);        return service.getWSDLWriter();    }    public ServiceRegistry getServiceRegistry()    {        return registry;    }    public TransportManager getTransportManager()    {        return transportManager;    }    public List getInPhases()    {        return inPhases;    }    public void setInPhases(List inPhases)    {        this.inPhases = inPhases;    }    public List getOutPhases()    {        return outPhases;    }    public void setOutPhases(List outPhases)    {        this.outPhases = outPhases;    }}

⌨️ 快捷键说明

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