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

📄 adminclient.java

📁 Java有关XML编程需要用到axis 的源代码 把里面bin下的包导入相应的Java工程 进行使用
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                                     "</m:"+ROOT_UNDEPLOY +">" ;        ByteArrayInputStream input = new ByteArrayInputStream(str.getBytes());        return process(input);    }    /**     * <p>Processes a set of administration commands.</p>     * <p>The following commands are available:</p>     * <ul>     *   <li><code>-l<i>url</i></code> sets the AxisServlet URL</li>     *   <li><code>-h<i>hostName</i></code> sets the AxisServlet host</li>     *   <li><code>-p<i>portNumber</i></code> sets the AxisServlet port</li>     *   <li><code>-s<i>servletPath</i></code> sets the path to the     *              AxisServlet</li>     *   <li><code>-f<i>fileName</i></code> specifies that a simple file     *              protocol should be used</li>     *   <li><code>-u<i>username</i></code> sets the username</li>     *   <li><code>-w<i>password</i></code> sets the password</li>     *   <li><code>-d</code> sets the debug flag (for instance, -ddd would     *      set it to 3)</li>     *   <li><code>-t<i>name</i></code> sets the transport chain touse</li>     *   <li><code>list</code> will list the currently deployed services</li>     *   <li><code>quit</code> will quit (???)</li>     *   <li><code>passwd <i>value</i></code> changes the admin password</li>     *   <li><code><i>xmlConfigFile</i></code> deploys or undeploys     *       Axis components and web services</li>     * </ul>     * <p>If <code>-l</code> or <code>-h -p -s</code> are not set, the     * AdminClient will invoke     * <code>http://localhost:8080/axis/servlet/AxisServlet</code>.</p>     *     * @param args Commands to process     * @return XML result or null in case of failure. In the case of multiple     * commands, the XML results will be concatenated, separated by \n     * @exception Exception Could be an IO exception, an AxisFault or something else     */    public String process(String[] args) throws Exception {        StringBuffer sb = new StringBuffer();        Options opts = new Options( args );        opts.setDefaultURL("http://localhost:8080/axis/services/AdminService");        if (opts.isFlagSet('d') > 0) {            // Set logger properties... !!!        }        args = opts.getRemainingArgs();        if ( args == null  || opts.isFlagSet('?') > 0) {            System.out.println(Messages.getMessage("usage00","AdminClient [Options] [list | <deployment-descriptor-files>]"));            System.out.println("");            System.out.println(getUsageInfo());            return null;        }        for ( int i = 0 ; i < args.length ; i++ ) {            InputStream input = null;            if ( args[i].equals("list") )              sb.append( list(opts) );            else if (args[i].equals("quit"))              sb.append( quit(opts) );            else if (args[i].equals("passwd")) {                System.out.println(Messages.getMessage("changePwd00"));                if (args[i + 1] == null) {                    System.err.println(Messages.getMessage("needPwd00"));                    return null;                }                String str = "<m:passwd xmlns:m=\"http://xml.apache.org/axis/wsdd/\">";                str += args[i + 1];                str += "</m:passwd>";                input = new ByteArrayInputStream(str.getBytes());                i++;                sb.append( process(opts, input) );            }            else {                if(args[i].indexOf(java.io.File.pathSeparatorChar)==-1){                    System.out.println( Messages.getMessage("processFile00", args[i]) );                    sb.append( process(opts, args[i] ) );                } else {                    java.util.StringTokenizer tokenizer = null ;                    tokenizer = new java.util.StringTokenizer(args[i],                                                 java.io.File.pathSeparator);                    while(tokenizer.hasMoreTokens()) {                        String file = tokenizer.nextToken();                        System.out.println( Messages.getMessage("processFile00", file) );                        sb.append( process(opts, file) );                        if(tokenizer.hasMoreTokens())                            sb.append("\n");                    }                }            }        }        return sb.toString();    }    /**     * go from the (parsed) command line to setting properties on our call object.     * @param opts     * @throws Exception if call==null     */    public void processOpts(Options opts) throws Exception {        if (call == null) {            throw new Exception(Messages.getMessage("nullCall00"));        }        URL address = new URL(opts.getURL());        setTargetEndpointAddress(address);        setLogin(opts.getUser(), opts.getPassword());        String tName = opts.isValueSet( 't' );        setTransport(tName);    }    /**     * set the username and password     * requires that call!=null     * @param user username     * @param password password     */    public void setLogin(String user, String password) {        call.setUsername( user );        call.setPassword( password );    }    /**     * set the URL to deploy to     * requires that call!=null     * @param address     */    public void setTargetEndpointAddress(URL address) {        call.setTargetEndpointAddress( address );    }    /**     * set the transport to deploy with.     * requires that call!=null     * @param transportName a null or empty value does not trigger a setting     */    public void setTransport(String transportName) {        if(transportName != null && !transportName.equals("")) {            call.setProperty( Call.TRANSPORT_NAME, transportName );        }    }    public String  process(InputStream input) throws Exception {        return process(null, input );    }    public String process(URL xmlURL) throws Exception {        return process(null, xmlURL.openStream() );    }    /**     * process an XML file containing a pre-prepared admin message     * @param xmlFile file to load     * @return     * @throws Exception     */    public String process(String xmlFile) throws Exception {        FileInputStream in = new FileInputStream(xmlFile);        String result =  process(null, in );        return result ;    }    public String process(Options opts, String xmlFile)  throws Exception {        processOpts( opts );        return process( xmlFile );    }    /**     * submit the input stream's contents to the endpoint, return the results as a string.     * The input stream is always closed after the call, whether the request worked or not     * @param opts options -can be null     * @param input -input stream for request     * @return     * @throws Exception if the call was null     * @throws AxisFault if the invocation returned an empty response     */    public String process(Options opts, InputStream input)  throws Exception {        try {            if (call == null) {                //validate that the call is not null                throw new Exception(Messages.getMessage("nullCall00"));            }            if ( opts != null ) {                //process options if supplied                processOpts( opts );            }            call.setUseSOAPAction( true);            call.setSOAPActionURI( "urn:AdminService");            Vector result = null ;            Object[]  params = new Object[] { new SOAPBodyElement(input) };            result = (Vector) call.invoke( params );            if (result == null || result.isEmpty()) {                throw new AxisFault(Messages.getMessage("nullResponse00"));            }            SOAPBodyElement body = (SOAPBodyElement) result.elementAt(0);            return body.toString();        } finally {            input.close();        }    }    /**     * Creates in instance of <code>AdminClient</code> and     * invokes <code>process(args)</code>.     * <p>Diagnostic output goes to <code>log.info</code>.</p>     * @param args Commands to process     */    public static void main (String[] args)    {        try {            AdminClient admin = new AdminClient();            String result = admin.process(args);            if (result != null) {                System.out.println( StringUtils.unescapeNumericChar(result) );            } else {                System.exit(1);            }    } catch (AxisFault ae) {            System.err.println(Messages.getMessage("exception00") + " " + ae.dumpToString());            System.exit(1);        } catch (Exception e) {            System.err.println(Messages.getMessage("exception00") + " " + e.getMessage());            System.exit(1);        }    }}

⌨️ 快捷键说明

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