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

📄 wsddundeployment.java

📁 Java有关XML编程需要用到axis 的源代码 把里面bin下的包导入相应的Java工程 进行使用
💻 JAVA
字号:
/* * Copyright 2001-2004 The Apache Software Foundation. *  * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *  *      http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.axis.deployment.wsdd;import org.apache.axis.ConfigurationException;import org.apache.axis.encoding.SerializationContext;import org.apache.axis.handlers.soap.SOAPService;import org.apache.axis.MessageContext;import org.apache.axis.utils.Messages;import org.w3c.dom.Element;import org.xml.sax.helpers.AttributesImpl;import javax.xml.namespace.QName;import java.io.IOException;import java.util.Iterator;import java.util.Vector;/** * WSDD deployment element * * @author James Snell */public class WSDDUndeployment    extends WSDDElement    implements WSDDTypeMappingContainer{    private Vector handlers = new Vector();    private Vector chains = new Vector();    private Vector services = new Vector();    private Vector transports = new Vector();    private Vector typeMappings = new Vector();    public void addHandler(QName handler)    {        handlers.add(handler);    }    public void addChain(QName chain)    {        chains.add(chain);    }    public void addTransport(QName transport)    {        transports.add(transport);    }        public void addService(QName service)    {        services.add(service);    }        public void deployTypeMapping(WSDDTypeMapping typeMapping)        throws WSDDException    {        typeMappings.add(typeMapping);    }    /**     * Default constructor     */     public WSDDUndeployment()    {    }    private QName getQName(Element el) throws WSDDException    {        String attr = el.getAttribute(ATTR_NAME);        if (attr == null || "".equals(attr))            throw new WSDDException(Messages.getMessage("badNameAttr00"));        return new QName("", attr);    }    /**     * Constructor - build an undeployment from a DOM Element.     *     * @param e the DOM Element to initialize from     * @throws WSDDException if there is a problem     */    public WSDDUndeployment(Element e)        throws WSDDException    {        super(e);                Element [] elements = getChildElements(e, ELEM_WSDD_HANDLER);        int i;        for (i = 0; i < elements.length; i++) {            addHandler(getQName(elements[i]));        }        elements = getChildElements(e, ELEM_WSDD_CHAIN);        for (i = 0; i < elements.length; i++) {            addChain(getQName(elements[i]));        }                elements = getChildElements(e, ELEM_WSDD_TRANSPORT);        for (i = 0; i < elements.length; i++) {            addTransport(getQName(elements[i]));        }                elements = getChildElements(e, ELEM_WSDD_SERVICE);        for (i = 0; i < elements.length; i++) {            addService(getQName(elements[i]));        }        /*        // How to deal with undeploying mappings?        elements = getChildElements(e, ELEM_WSDD_TYPEMAPPING);        for (i = 0; i < elements.length; i++) {            WSDDTypeMapping mapping = new WSDDTypeMapping(elements[i]);            addTypeMapping(mapping);        }        elements = getChildElements(e, ELEM_WSDD_BEANMAPPING);        for (i = 0; i < elements.length; i++) {            WSDDBeanMapping mapping = new WSDDBeanMapping(elements[i]);            addTypeMapping(mapping);        }        */    }    protected QName getElementName()    {        return QNAME_UNDEPLOY;    }    public void undeployFromRegistry(WSDDDeployment registry)        throws ConfigurationException    {        QName qname;        for (int n = 0; n < handlers.size(); n++) {            qname = (QName)handlers.get(n);            registry.undeployHandler(qname);        }        for (int n = 0; n < chains.size(); n++) {            qname = (QName)chains.get(n);            registry.undeployHandler(qname);        }        for (int n = 0; n < transports.size(); n++) {            qname = (QName)transports.get(n);            registry.undeployTransport(qname);        }        for (int n = 0; n < services.size(); n++) {            qname = (QName)services.get(n);             try {                String sname = qname.getLocalPart();                MessageContext messageContext = MessageContext.getCurrentContext();                if (messageContext != null) {                    SOAPService service = messageContext.getAxisEngine()                            .getService(sname);                    if ( service != null ) service.clearSessions();                }            } catch(Exception exp) {                throw new ConfigurationException(exp);            }            registry.undeployService(qname);        }    }    private void writeElement(SerializationContext context,                              QName elementQName,                              QName qname)        throws IOException    {        AttributesImpl attrs = new org.xml.sax.helpers.AttributesImpl();        attrs.addAttribute("", ATTR_NAME, ATTR_NAME, "CDATA",                           context.qName2String(qname));                 context.startElement(elementQName, attrs);        context.endElement();    }    public void writeToContext(SerializationContext context)        throws IOException    {        context.registerPrefixForURI(NS_PREFIX_WSDD, URI_WSDD);        context.startElement(WSDDConstants.QNAME_UNDEPLOY, null);                Iterator i = handlers.iterator();        QName qname;        while (i.hasNext()) {            qname = (QName)i.next();            writeElement(context, QNAME_HANDLER, qname);        }                i = chains.iterator();        while (i.hasNext()) {            qname = (QName)i.next();            writeElement(context, QNAME_CHAIN, qname);        }        i = services.iterator();        while (i.hasNext()) {            qname = (QName)i.next();            writeElement(context, QNAME_SERVICE, qname);        }                i = transports.iterator();        while (i.hasNext()) {            qname = (QName)i.next();            writeElement(context, QNAME_TRANSPORT, qname);        }                i = typeMappings.iterator();        while (i.hasNext()) {            WSDDTypeMapping mapping = (WSDDTypeMapping)i.next();            mapping.writeToContext(context);        }        context.endElement();    }        /**     *     * @return XXX     */    public WSDDTypeMapping[] getTypeMappings()    {        WSDDTypeMapping[] t = new WSDDTypeMapping[typeMappings.size()];        typeMappings.toArray(t);        return t;    }}

⌨️ 快捷键说明

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