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

📄 endpoint.java

📁 Xfire文件 用于开发web service 的一个开源工具 很好用的
💻 JAVA
字号:
package org.codehaus.xfire.jaxws;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.concurrent.Executor;import javax.xml.transform.Source;import javax.xml.ws.Binding;import javax.xml.ws.BindingType;import javax.xml.ws.soap.SOAPBinding;import org.codehaus.xfire.jaxws.binding.AbstractBinding;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.invoker.BeanInvoker;public class Endpoint    extends javax.xml.ws.Endpoint{    private JAXWSHelper jaxWsHelper = JAXWSHelper.getInstance();    private AbstractBinding binding;    private Object implementor;    private boolean published;    private List<Source> metadata;    private Executor executor;    private Service service;        private Map<String,Object> properties = new HashMap<String,Object>();        public Endpoint(String bindingId, Object implementor)    {        // Try the BindingType annotation        if (bindingId == null)        {            BindingType type = implementor.getClass().getAnnotation(BindingType.class);            if (type != null)            {                bindingId = type.value();            }        }        // We now must use the SOAP 1.1 HTTP binding        if (bindingId == null || bindingId.length() == 0)        {            bindingId = SOAPBinding.SOAP11HTTP_BINDING;        }                this.binding = jaxWsHelper.getBinding(bindingId);        if (binding == null)        {            throw new IllegalStateException("Could not find binding: " + bindingId);        }                this.implementor = implementor;                this.service = jaxWsHelper.getServiceFactory().create(implementor.getClass());        this.service.setInvoker(new BeanInvoker(implementor));    }    @Override    public Binding getBinding()    {        return binding;    }    @Override    public Object getImplementor()    {        return implementor;    }    @Override    public void publish(String address)    {        if (published)        {            throw new IllegalStateException("Endpoint has already been published.");        }                jaxWsHelper.getXFire().getServiceRegistry().register(service);        published = true;    }    @Override    public void publish(Object context)    {        if (published)        {            throw new IllegalStateException("Endpoint has already been published.");        }                published = true;    }    @Override    public void stop()    {        if (published)        {            jaxWsHelper.getXFire().getServiceRegistry().unregister(service);            published = false;        }    }    @Override    public boolean isPublished()    {        return published;    }    @Override    public List<Source> getMetadata()    {        return metadata;    }    @Override    public void setMetadata(List<Source> metadata)    {        this.metadata = metadata;    }    @Override    public Executor getExecutor()    {        return executor;    }    @Override    public void setExecutor(Executor executor)    {        this.executor = executor;    }    @Override    public Map<String, Object> getProperties()    {        return properties;    }    @Override    public void setProperties(Map<String, Object> properties)    {        this.properties = properties;    }}

⌨️ 快捷键说明

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