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

📄 wsddjaxrpchandlerinfochain.java

📁 Java有关XML编程需要用到axis 的源代码 把里面bin下的包导入相应的Java工程 进行使用
💻 JAVA
字号:
/* * Copyright 2001-2002,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.components.logger.LogFactory;import org.apache.axis.encoding.SerializationContext;import org.apache.axis.handlers.HandlerInfoChainFactory;import org.apache.axis.utils.ClassUtils;import org.apache.axis.utils.Messages;import org.apache.commons.logging.Log;import org.w3c.dom.Element;import org.xml.sax.helpers.AttributesImpl;import javax.xml.namespace.QName;import javax.xml.rpc.handler.HandlerInfo;import java.io.IOException;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.Map;/** * */public class WSDDJAXRPCHandlerInfoChain extends WSDDHandler {    protected static Log log =        LogFactory.getLog(WSDDJAXRPCHandlerInfoChain.class.getName());        private ArrayList _hiList;    private HandlerInfoChainFactory _hiChainFactory;    private String[] _roles;    /**     * Default constructor     */    public WSDDJAXRPCHandlerInfoChain() {    }    /**     *     * @param e (Element) XXX     * @throws WSDDException XXX     */    public WSDDJAXRPCHandlerInfoChain(Element e) throws WSDDException {        super(e);    ArrayList infoList = new ArrayList();    _hiList = new ArrayList();        Element[] elements = getChildElements(e, ELEM_WSDD_JAXRPC_HANDLERINFO);        if (elements.length != 0) {            for (int i = 0; i < elements.length; i++) {                WSDDJAXRPCHandlerInfo handlerInfo =                    new WSDDJAXRPCHandlerInfo(elements[i]);        _hiList.add(handlerInfo);                String handlerClassName = handlerInfo.getHandlerClassName();                Class handlerClass = null;                try {                    handlerClass = ClassUtils.forName(handlerClassName);                } catch (ClassNotFoundException cnf) {                     log.error(Messages.getMessage("handlerInfoChainNoClass00", handlerClassName), cnf);                }                Map handlerMap = handlerInfo.getHandlerMap();                QName[] headers = handlerInfo.getHeaders();                                if (handlerClass != null) {                    HandlerInfo hi =                        new HandlerInfo(handlerClass, handlerMap, headers);                    infoList.add(hi);                }            }        }        _hiChainFactory = new HandlerInfoChainFactory(infoList);                elements = getChildElements(e,  ELEM_WSDD_JAXRPC_ROLE);        if (elements.length != 0) {            ArrayList roleList = new ArrayList();            for (int i = 0; i < elements.length; i++) {                String role = elements[i].getAttribute( ATTR_SOAPACTORNAME);                roleList.add(role);            }            _roles =new String[roleList.size()];             _roles = (String[]) roleList.toArray(_roles);            _hiChainFactory.setRoles(_roles);        }            }    public HandlerInfoChainFactory getHandlerChainFactory() {        return _hiChainFactory;    }    public void setHandlerChainFactory(HandlerInfoChainFactory handlerInfoChainFactory) {        _hiChainFactory = handlerInfoChainFactory;    }    protected QName getElementName() {        return WSDDConstants.QNAME_JAXRPC_HANDLERINFOCHAIN;    }        /**     * Write this element out to a SerializationContext     */    public void writeToContext(SerializationContext context)            throws IOException {            context.startElement(QNAME_JAXRPC_HANDLERINFOCHAIN,null);                        List his = _hiList;            Iterator iter = his.iterator();            while (iter.hasNext()) {                WSDDJAXRPCHandlerInfo hi = (WSDDJAXRPCHandlerInfo) iter.next();                hi.writeToContext(context);            }                        if (_roles != null) {                for (int i=0; i < _roles.length ; i++) {                    AttributesImpl attrs1 = new AttributesImpl();                    attrs1.addAttribute("", ATTR_SOAPACTORNAME, ATTR_SOAPACTORNAME,                               "CDATA", _roles[i]);                    context.startElement(QNAME_JAXRPC_ROLE,attrs1);                    context.endElement();                }            }                        context.endElement();    }        public ArrayList getHandlerInfoList() {        return _hiList;    }        public void setHandlerInfoList(ArrayList hiList) {        _hiList = hiList;    }        public String[] getRoles() {        return _roles;    }        public void setRoles(String[] roles) {        _roles = roles;    }}

⌨️ 快捷键说明

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