亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? abstractwsdl.java

?? Xfire文件 用于開發web service 的一個開源工具 很好用的
?? JAVA
字號:
package org.codehaus.xfire.wsdl;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import javax.wsdl.WSDLException;import javax.xml.stream.XMLStreamException;import org.codehaus.xfire.XFireRuntimeException;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.binding.ObjectServiceFactory;import org.codehaus.xfire.soap.Soap11;import org.codehaus.xfire.soap.Soap12;import org.codehaus.xfire.soap.SoapConstants;import org.codehaus.xfire.util.ClassLoaderUtils;import org.codehaus.xfire.util.NamespaceHelper;import org.codehaus.xfire.util.jdom.StaxBuilder;import org.jdom.Attribute;import org.jdom.Document;import org.jdom.Element;import org.jdom.JDOMException;import org.jdom.Namespace;import org.jdom.xpath.XPath;/** * Provides schema functionality for a WSDLBuilder. *  * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a> */public abstract class AbstractWSDL    implements WSDLWriter{    private static final StaxBuilder builder = new StaxBuilder();    private Service service;    private Map dependencies = new HashMap();        private Map namespaceImports = new HashMap();        private Element schemaTypes;    protected Map typeMap = new HashMap();        private boolean schemaLocationRemoved = true;        /*-------------------------------------------------     * Namespace and QName definitions for easy access.     *-------------------------------------------------*/    public final static Namespace XSD_NS = Namespace.getNamespace(SoapConstants.XSD_PREFIX,                                                                   SoapConstants.XSD);    public final static String GENERATE_IMPORTS = "wsdlBuilder.generateImports";    public final static String CLEAN_IMPORTS = "wsdlBuilder.cleanImports";    public static final String REMOVE_ALL_IMPORTS = "wsdlBuilder.removeAllImports";        private boolean generateImports = false;    private boolean cleanImports = true;    private boolean removeAllImports = false;        public AbstractWSDL(Service service) throws WSDLException    {        this.service = service;        Element root = new Element("types", "wsdl", WSDL11_NS);        setSchemaTypes(root);        root.addNamespaceDeclaration(Namespace.getNamespace(SoapConstants.XSD_PREFIX, SoapConstants.XSD));    }    protected void initialize()    {        addNamespace("soap11", Soap11.getInstance().getNamespace());        addNamespace("soapenc11", Soap11.getInstance().getSoapEncodingStyle());        addNamespace("soap12", Soap12.getInstance().getNamespace());        addNamespace("soapenc12", Soap12.getInstance().getSoapEncodingStyle());        addNamespace("xsd", SoapConstants.XSD);        addNamespace("wsdl", WSDL11_NS);        addNamespace("wsdlsoap", WSDL11_SOAP_NS);        addNamespace("tns", getTargetNamespace());                // If port type namespace if different from target namespace,        // we must add its definition        if (!getTargetNamespace().equals(service.getServiceInfo().getPortType().getNamespaceURI()))        {            addNamespace("itf", service.getServiceInfo().getPortType().getNamespaceURI());        }        generateImports = Boolean.valueOf((String) service.getProperty(GENERATE_IMPORTS)).booleanValue();        removeAllImports = Boolean.valueOf((String) service.getProperty(REMOVE_ALL_IMPORTS)).booleanValue();        String cleanImpProp = (String) service.getProperty(CLEAN_IMPORTS);        if (cleanImpProp != null) cleanImports = Boolean.valueOf(cleanImpProp).booleanValue();                List schemas = (List) service.getProperty(ObjectServiceFactory.SCHEMAS);        if (schemas != null) addSchemas(schemas);    }        protected void updateImports()        throws WSDLException    {        if (removeAllImports)        {            removeAllImports();        }        else        {            if (generateImports) writeImports();                        if (cleanImports) cleanImports();        }            }    /**     * Write xs:import elements for each schema.     */    protected void writeImports()    {        for (Iterator itr = namespaceImports.entrySet().iterator(); itr.hasNext();)        {            Map.Entry entry = (Map.Entry) itr.next();                        String uri = (String) entry.getKey();            Set imports = (Set) entry.getValue();                        Element schema = createSchemaType(uri);                        for (Iterator importItr = imports.iterator(); importItr.hasNext();)            {                String ns = (String) importItr.next();                if (!ns.equals(SoapConstants.XSD) && getImport(schema, ns) == null)                {                    Element importEl = new Element("import", XSD_NS);                    importEl.setAttribute(new Attribute("namespace", ns));                                        schema.addContent(0, importEl);                }            }        }    }    public Element getImport(Element schema, String ns)    {        List children = schema.getChildren("import", Namespace.getNamespace(SoapConstants.XSD));                for (int i = 0; i < children.size(); i++)        {            Element importEl = (Element) children.get(i);            String value = importEl.getAttributeValue("namespace");                        if (value != null && value.equals(ns)) return importEl;        }                return null;    }    /**     * Removes imports from all the schemas.     */    protected void removeAllImports()    {        for (Iterator itr = schemaTypes.getChildren().iterator(); itr.hasNext();)        {            Element schema = (Element) itr.next();            removeImports(schema);        }    }    protected void removeImports(Element schema)    {        List children = schema.getChildren("import", Namespace.getNamespace(SoapConstants.XSD));                for (Iterator sitr = children.iterator(); sitr.hasNext();)        {            sitr.next();            sitr.remove();        }    }        protected void cleanImports()    {        for (Iterator itr = schemaTypes.getChildren().iterator(); itr.hasNext();)        {            Element schema = (Element) itr.next();            List children = schema.getChildren("import", Namespace.getNamespace(SoapConstants.XSD));                        for (Iterator sitr = children.iterator(); sitr.hasNext();)            {                cleanImport((Element) sitr.next());            }        }    }        public void cleanImport(Element node)    {        Attribute schemaLoc = node.getAttribute("schemaLocation");                // TODO: How do we make sure this is imported???                if (schemaLoc != null)            schemaLoc.detach();    }        protected abstract void writeComplexTypes();    public void addDependency(SchemaType type)    {        if (!type.isComplex())        {            return;        }                if (!hasDependency(type))        {            dependencies.put(type.getSchemaType(), type);            Element e = createSchemaType(type.getSchemaType().getNamespaceURI());            type.writeSchema(e);                        Set deps = type.getDependencies();            if (deps != null)            {                for (Iterator itr = deps.iterator(); itr.hasNext();)                {                    SchemaType child = (SchemaType) itr.next();                    addDependency(child);                    addNamespaceImport(type.getSchemaType().getNamespaceURI(),                                        child.getSchemaType().getNamespaceURI());                }            }        }    }    protected boolean hasDependency(SchemaType type)    {        return dependencies.containsKey(type.getSchemaType());    }    /**     * Adds an import to another namespace.      * @param uri The namespace to import into.     * @param imported The namespace to import.     */    public void addNamespaceImport(String uri, String imported)    {        if (uri.equals(imported)) return;                Set imports = (Set) namespaceImports.get(uri);                if (imports == null)        {            imports = new HashSet();            namespaceImports.put(uri, imports);        }                imports.add(imported);    }    public abstract void write(OutputStream out)        throws IOException;    public void addNamespace(String prefix, String uri)    {        Namespace declaredUri = schemaTypes.getNamespace(prefix);        if (declaredUri == null)        {            schemaTypes.addNamespaceDeclaration(Namespace.getNamespace(prefix, uri));        }        else if (!declaredUri.getURI().equals(uri))        {            throw new XFireRuntimeException("Namespace conflict: " + declaredUri                    + " was declared but " + uri + " was attempted.");        }    }    public String getNamespacePrefix(String uri)    {        return NamespaceHelper.getUniquePrefix(schemaTypes, uri);    }    public Service getService()    {        return service;    }    public void setService(Service service)    {        this.service = service;    }    public String getTargetNamespace()    {        return service.getTargetNamespace();    }    public void addSchemas(List schemaLocations)    {        for (Iterator itr = schemaLocations.iterator(); itr.hasNext();)        {            addSchema((String) itr.next());        }    }        /**     * Loads a schema off the filesystem or the classpath and adds it to the WSDL types section.     *      * @param location     */    public void addSchema(String location)    {        // Try loading the file as a file, then on the classpath        InputStream fileInputStream = null;        try        {            fileInputStream = new FileInputStream(location);        }         catch (FileNotFoundException e)        {            fileInputStream = ClassLoaderUtils.getResourceAsStream(location, getClass());        }                if (fileInputStream == null)            throw new XFireRuntimeException("Couldnt load schema file: " + location);                // Load in the schema        Document schema = null;        try        {            schema = builder.build(fileInputStream);        }         catch (XMLStreamException e)        {            throw new XFireRuntimeException("Error parsing schema file: " + location, e);        }                // Remove the schemaLocation elements        if (isSchemaLocationRemoved())            cleanImports(schema);                String targetNamespace = schema.getRootElement().getAttributeValue("targetNamespace");        if (targetNamespace != null)        {            Element root = schema.getRootElement();            root.detach();            setSchema(targetNamespace, root);        }        else        {            throw new XFireRuntimeException("Could not find target namespace in schema: " + location);        }    }    public boolean isSchemaLocationRemoved()    {        return schemaLocationRemoved;    }    public void setSchemaLocationRemoved(boolean schemaLocationRemoved)    {        this.schemaLocationRemoved = schemaLocationRemoved;    }    /**     * Removes the schemaLocation attribute from an &lt;xsd:import&gt; statement.     * @param schema     */    protected void cleanImports(Document schema)    {        List nodes = getMatches(schema, "//xsd:import");        for (int i = 0; i < nodes.size(); i++)        {            Element imp = (Element) nodes.get(i);            Attribute loc = imp.getAttribute("schemaLocation");            if (loc != null)            {                loc.detach();            }        }    }        private List getMatches(Object doc, String xpath)    {        try        {            XPath path = XPath.newInstance(xpath);            path.addNamespace("xsd", SoapConstants.XSD);            path.addNamespace("s", SoapConstants.XSD);            List result = path.selectNodes(doc);            return result;        }        catch (JDOMException e)        {            throw new XFireRuntimeException("Error evaluating xpath " + xpath, e);        }    }        /**     * Create a shcema type element and store it to be written later on.     *      * @param namespace     *            The namespace to create the type in.     * @return     */    public Element createSchemaType(String namespace)    {        Element e = (Element) typeMap.get(namespace);        if (e == null)        {            e = new Element("schema", XSD_NS);            e.setAttribute(new Attribute("targetNamespace", namespace));            e.setAttribute(new Attribute("elementFormDefault", "qualified"));            e.setAttribute(new Attribute("attributeFormDefault", "qualified"));            setSchema(namespace, e);        }        return e;    }    protected boolean hasSchema(String namespace)    {        return typeMap.containsKey(namespace);    }        protected void setSchema(String namespace, Element schema)    {        typeMap.put(namespace, schema);        getSchemaTypes().addContent(schema);    }    protected Element getSchemaTypes()    {        return schemaTypes;    }    protected void setSchemaTypes(Element schemaTypes)    {        this.schemaTypes = schemaTypes;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区免费视频| 亚洲视频在线观看三级| 国产精品久久二区二区| 亚洲成a人片在线观看中文| 国产成人av影院| 欧美一区二区播放| 亚洲伊人色欲综合网| 成人av手机在线观看| 欧美精品一区二区久久久| 亚洲最新在线观看| 播五月开心婷婷综合| 日韩久久久久久| 亚洲成人午夜电影| 在线精品视频一区二区三四| 国产精品免费aⅴ片在线观看| 玖玖九九国产精品| 91精品免费观看| 亚洲一区二区黄色| 91福利资源站| 亚洲免费观看高清| 99视频一区二区三区| 欧美国产亚洲另类动漫| 国产在线视视频有精品| 精品动漫一区二区三区在线观看| 日韩精品一卡二卡三卡四卡无卡| 欧美日韩精品一区二区三区四区 | 欧美日韩国产一级| 依依成人精品视频| 欧美午夜精品一区二区蜜桃| 亚洲综合色在线| 在线观看免费一区| 性做久久久久久免费观看 | 成人黄色在线视频| 国产欧美日韩三级| 国产高清精品网站| 尤物视频一区二区| 欧美色综合网站| 亚洲mv大片欧洲mv大片精品| 欧美日韩免费在线视频| 一区二区三区免费| 3d成人动漫网站| 蜜桃久久av一区| 久久免费精品国产久精品久久久久| 精品亚洲成a人在线观看| 2020国产精品久久精品美国| 国产成人在线视频网站| 国产精品久久久久久久午夜片 | 亚洲色图一区二区| 欧美最猛黑人xxxxx猛交| 丝袜美腿亚洲一区二区图片| 欧美一区二区视频网站| 久久国产精品99久久人人澡| 久久久久国产精品麻豆ai换脸| 成人免费视频视频在线观看免费| 亚洲图片激情小说| 欧美乱妇15p| 国产福利一区在线观看| 中文字幕在线不卡| 在线播放视频一区| 国产精品一区二区免费不卡| 亚洲视频在线观看三级| 91精品黄色片免费大全| 丰满少妇久久久久久久| 亚洲伊人伊色伊影伊综合网| 日韩欧美国产综合一区| 不卡的看片网站| 五月婷婷欧美视频| 国产精品美女久久久久久久久 | 在线不卡一区二区| 国产精品亚洲人在线观看| 一区二区三区中文在线| 久久久久国产精品免费免费搜索| 欧美影视一区在线| 国产成人综合精品三级| 五月天国产精品| 亚洲欧美一区二区在线观看| 日韩一级免费一区| 99久久久精品| 国产一区二区三区精品欧美日韩一区二区三区 | 日韩理论片网站| 26uuu精品一区二区| 欧美三级日韩三级国产三级| 不卡视频免费播放| 精品一区二区三区av| 亚洲第一激情av| 亚洲四区在线观看| 久久久久久久免费视频了| 欧美日韩久久久| 色综合视频一区二区三区高清| 九色综合国产一区二区三区| 午夜精品免费在线观看| 国产精品护士白丝一区av| 日韩精品一区在线观看| 欧美三区在线观看| 在线观看网站黄不卡| 成人黄色网址在线观看| 国内久久婷婷综合| 青青草91视频| 日韩av电影一区| 婷婷国产在线综合| 国产一区二区三区在线看麻豆| 亚洲成人av中文| 伊人色综合久久天天人手人婷| 亚洲日本丝袜连裤袜办公室| 中文字幕的久久| 久久精品免费在线观看| 久久久不卡影院| 久久精品视频在线看| 久久久久久久久久电影| 久久久影视传媒| 26uuu精品一区二区三区四区在线| 欧美一区二区视频网站| 欧美日本不卡视频| 91麻豆精品久久久久蜜臀| 91精品国产91久久综合桃花| 91麻豆精品国产| 欧美一级黄色片| 亚洲精品一区二区三区精华液| 精品国产乱码久久久久久老虎 | 欧美日韩另类国产亚洲欧美一级| 欧美色窝79yyyycom| 在线播放一区二区三区| 日韩一区二区在线观看| 久久尤物电影视频在线观看| 26uuu亚洲综合色| 中文字幕精品三区| 亚洲色图欧美在线| 亚洲成人av资源| 精久久久久久久久久久| 粉嫩av一区二区三区在线播放| hitomi一区二区三区精品| 91捆绑美女网站| 欧美精品日韩一本| 337p日本欧洲亚洲大胆色噜噜| 亚洲国产精品精华液ab| 亚洲色大成网站www久久九九| 亚洲国产精品自拍| 美女网站色91| 99久久精品国产导航| 精品视频一区 二区 三区| 日韩一二三区不卡| 国产精品天干天干在线综合| 亚洲精品成人精品456| 午夜精品爽啪视频| 国产.欧美.日韩| 欧美精品久久久久久久多人混战| 日韩三级在线观看| 亚洲日本成人在线观看| 日韩 欧美一区二区三区| 国产91露脸合集magnet| 欧美日韩激情一区二区| 久久久精品国产免大香伊| 亚洲精品国产第一综合99久久 | 久久精品人人爽人人爽| 亚洲综合视频在线| 国产iv一区二区三区| 欧美日韩亚洲综合一区| 国产欧美精品一区二区色综合朱莉 | 国产视频一区在线播放| 夜夜嗨av一区二区三区网页| 国产精品99久久久| 欧美女孩性生活视频| 国产精品视频一二三区| 日韩国产高清影视| 99国产精品一区| 久久久久99精品国产片| 视频一区二区三区中文字幕| av一区二区久久| 久久综合中文字幕| 日韩电影网1区2区| 欧洲精品视频在线观看| 婷婷综合另类小说色区| 国产成人精品免费看| 精品第一国产综合精品aⅴ| 亚洲福利电影网| 在线国产电影不卡| 国产精品国产三级国产aⅴ入口| 久久99国产精品久久| 在线播放一区二区三区| 亚洲午夜激情网页| 91丨九色丨黑人外教| 国产欧美视频在线观看| 久久66热偷产精品| 91精品国产欧美一区二区18| 亚洲一区欧美一区| 色婷婷综合视频在线观看| 国产精品高潮呻吟久久| 成人小视频在线| 亚洲国产成人自拍| 丰满亚洲少妇av| 国产精品天干天干在线综合| 国产成人免费av在线| 日韩精品一区二区三区蜜臀 | 丁香一区二区三区| 精品va天堂亚洲国产| 久久国产日韩欧美精品| 久久亚洲一区二区三区明星换脸 | 欧美日韩在线一区二区| 一区二区三区蜜桃| 欧洲人成人精品|