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

📄 middlewarerfc.java

📁 SAP这个系统的一个转换器
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   MiddlewareRFC.java

package com.sap.mw.jco.rfc;

import com.sap.mw.jco.IMiddleware;
import com.sap.mw.jco.JCO;
import java.io.File;
import java.lang.reflect.Method;
import java.net.URL;
import java.util.*;

public final class MiddlewareRFC extends IMiddleware
{
    public static final class Server
        implements com.sap.mw.jco.IMiddleware.IServer
    {

        private native void nativeListen(com.sap.mw.jco.JCO.Server server, String s);

        private native void nativeExecute(com.sap.mw.jco.JCO.Server server, String s, com.sap.mw.jco.JCO.ParameterList parameterlist, com.sap.mw.jco.JCO.ParameterList parameterlist1, com.sap.mw.jco.JCO.ParameterList parameterlist2, com.sap.mw.jco.JCO.ParameterList parameterlist3, String s1, 
                String s2, int i);

        public String[][] getPropertyInfo()
        {
            return pinfo;
        }

        public void initialize(com.sap.mw.jco.JCO.Server server, Properties params)
        {
            StringBuffer conn_params = new StringBuffer();
            String value = parent.getTrimmedProperty("jco.server.gwhost", params);
            if(value != null)
                conn_params.append("-g" + parent.quote(value));
            value = parent.getTrimmedProperty("jco.server.gwserv", params);
            if(value != null)
                conn_params.append(" -x" + parent.quote(value));
            value = parent.getTrimmedProperty("jco.server.progid", params);
            if(value != null)
                conn_params.append(" -a" + parent.quote(value));
            value = parent.getTrimmedProperty("jco.server.profile_name", params);
            if(value != null)
                conn_params.append(" -F" + parent.quote(value));
            value = parent.getTrimmedProperty("jco.server.params", params);
            if(value != null)
                conn_params.append(value);
            value = parent.getTrimmedProperty("jco.server.snc_myname", params);
            if(value != null)
            {
                conn_params.append(" -S" + parent.quote(value));
                value = parent.getTrimmedProperty("jco.server.snc_lib", params);
                if(value == null)
                    value = parent.getProperty("jco.middleware.snc_lib");
                if(value != null)
                    conn_params.append(" -L" + parent.quote(value));
                value = parent.getTrimmedProperty("jco.server.snc_qop", params);
                if(value != null)
                    conn_params.append(" -Q" + parent.quote(value));
            }
            value = parent.getBinaryProperty("jco.server.trace", params);
            if(value != null && parent.toBoolean(value))
                conn_params.append(" -t");
            value = parent.getBinaryProperty("jco.server.unicode", params);
            if(value != null && parent.toBoolean(value))
                conn_params.append(" -unicode");
            parent.setConnParams(server, conn_params.toString());
        }

        public void listen(com.sap.mw.jco.JCO.Server server, String params)
        {
            nativeListen(server, params);
        }

        public void disconnect(com.sap.mw.jco.JCO.Server server)
        {
            parent.nativeDisconnect(server);
        }

        public void abort(com.sap.mw.jco.JCO.Server server, String message)
        {
            parent.nativeAbort(server, message);
        }

        public boolean isAlive(com.sap.mw.jco.JCO.Server server)
        {
            return parent.nativeIsAlive(server);
        }

        public void getAttributes(com.sap.mw.jco.JCO.Server server)
        {
            parent.nativeGetAttributes(server);
        }

        public void execute(com.sap.mw.jco.JCO.Server server, com.sap.mw.jco.JCO.Function function)
        {
            execute(server, function.getName(), function.getImportParameterList(), function.getExportParameterList(), function.getTableParameterList(), null, null, 0);
        }

        public void execute(com.sap.mw.jco.JCO.Server server, String name, com.sap.mw.jco.JCO.ParameterList imp, com.sap.mw.jco.JCO.ParameterList exp, com.sap.mw.jco.JCO.ParameterList tab, String tid, String qname, 
                int qcount)
        {
            nativeExecute(server, name, imp, tab, exp, null, tid, qname, qcount);
        }

        public void setRfcTrace(com.sap.mw.jco.JCO.Server server, boolean withTrace)
        {
            if(server.getConnectionHandle() != 0L)
            {
                Server _tmp = this;
                MiddlewareRFC.nativeSetRfcTrace(server, withTrace);
            }
        }

        private MiddlewareRFC parent;
        private static final String JCO_GWHOST = "jco.server.gwhost";
        private static final String JCO_GWSERV = "jco.server.gwserv";
        private static final String JCO_PROGID = "jco.server.progid";
        private static final String JCO_TRACE = "jco.server.trace";
        private static final String JCO_PARAMS = "jco.server.params";
        private static final String JCO_SNC_MYNAME = "jco.server.snc_myname";
        private static final String JCO_SNC_QOP = "jco.server.snc_qop";
        private static final String JCO_SNC_LIBRARY = "jco.server.snc_lib";
        private static final String JCO_PROFILE_NAME = "jco.server.profile_name";
        private static final String JCO_UNICODE = "jco.server.unicode";
        private static final String JCO_MAX_STARTUP_DELAY = "jco.server.max_startup_delay";
        private static final String pinfo[][] = {
            {
                "jco.server.gwhost", "Gateway host"
            }, {
                "jco.server.gwserv", "Gateway service"
            }, {
                "jco.server.progid", "Program ID of the server"
            }, {
                "jco.server.trace", "Enable/disable RFC trace (1 or 0)"
            }, {
                "jco.server.params", "Arbitrary parameters for RFC library"
            }, {
                "jco.server.snc_myname", "SNC name"
            }, {
                "jco.server.snc_qop", "SNC level of security, 1 to 9"
            }, {
                "jco.server.snc_lib", "Path to the SNC library"
            }, {
                "jco.server.profile_name", "Name of profile file used during startup"
            }, {
                "jco.server.unicode", "Flags whether to connect in unicode mode (1 or 0)"
            }, {
                "jco.server.max_startup_delay", "Maximum server startup delay time in seconds"
            }
        };


        protected Server(MiddlewareRFC parent)
        {
            this.parent = parent;
        }
    }

    public static final class Client
        implements com.sap.mw.jco.IMiddleware.IClient
    {

        private native void nativeConnect(com.sap.mw.jco.JCO.Client client, String s);

        private native void nativeReset(com.sap.mw.jco.JCO.Client client);

        private native void nativeConfirmTID(com.sap.mw.jco.JCO.Client client, String s);

        private native String nativeCreateTID(com.sap.mw.jco.JCO.Client client);

        private native void nativeExecute(com.sap.mw.jco.JCO.Client client, String s, com.sap.mw.jco.JCO.ParameterList parameterlist, com.sap.mw.jco.JCO.ParameterList parameterlist1, com.sap.mw.jco.JCO.ParameterList parameterlist2, com.sap.mw.jco.JCO.ParameterList parameterlist3, String s1, 
                String s2, int i);

        public String[][] getPropertyInfo()
        {
            return pinfo;
        }

        public void initialize(com.sap.mw.jco.JCO.Client client, Properties params)
        {
            Properties props = (Properties)params.clone();
            StringBuffer conn_params = new StringBuffer();
            String value = parent.getTrimmedProperty("jco.client.user", props);
            if(value != null && value.equalsIgnoreCase("$MYSAPSSO2$"))
            {
                parent.removeProperty("jco.client.user", props);
                value = parent.getTrimmedProperty("jco.client.passwd", props);
                if(value != null)
                {
                    parent.removeProperty("jco.client.passwd", props);
                    parent.removeProperty("jco.client.mysapsso2", props);
                    props.put("jco.client.mysapsso2", value);
                }
            } else
            if(value != null && value.equalsIgnoreCase("$X509CERT$"))
            {
                parent.removeProperty("jco.client.user", props);
                value = parent.getTrimmedProperty("jco.client.passwd", props);
                if(value != null)
                {
                    parent.removeProperty("jco.client.passwd", props);
                    parent.removeProperty("jco.client.x509cert", props);
                    props.put("jco.client.x509cert", value);
                }
            }
            value = parent.getBinaryProperty("jco.client.snc_mode", props);
            if(value != null && parent.toBoolean(value) && parent.getProperty("jco.client.snc_lib", props) == null)
            {
                String path = parent.getProperty("jco.middleware.snc_lib");
                if(path != null)
                    props.put("jco.client.snc_lib", path);
            }
            value = parent.getBinaryProperty("jco.client.toupper", props);
            if(value == null)
                props.put("jco.client.toupper", "0");
            for(int i = 0; i < pinfo_binary_properties; i++)
            {
                String name = pinfo[i][0];
                if(name.equals("jco.client.user"))
                {
                    value = parent.getRightTrimmedProperty(name, props);
                    if(value != null)
                    {
                        int strlen = value.length();
                        StringBuffer strBuf = new StringBuffer(strlen);
                        for(int c = 0; c < strlen; c++)
                            strBuf.append(Character.toUpperCase(value.charAt(c)));

                        value = strBuf.toString();
                    }
                } else
                if(name.equals("jco.client.passwd"))
                    value = parent.getRightTrimmedProperty(name, props);
                else
                    value = parent.getTrimmedProperty(name, props);
                if(value != null)
                {
                    value = parent.quote(value);
                    conn_params.append(name.substring(name.lastIndexOf('.') + 1).toUpperCase(Locale.ENGLISH));
                    conn_params.append('=');
                    conn_params.append(value);
                    conn_params.append(' ');
                }
            }

            for(int i = pinfo_binary_properties; i < pinfo.length; i++)
            {
                String name = pinfo[i][0];
                value = parent.getBinaryProperty(name, props);
                if(value != null)
                {
                    value = parent.quote(value);
                    conn_params.append(name.substring(name.lastIndexOf('.') + 1).toUpperCase(Locale.ENGLISH));
                    conn_params.append('=');
                    conn_params.append(value);
                    conn_params.append(' ');
                }
            }

            conn_params.setLength(conn_params.length() - 1);
            parent.setConnParams(client, conn_params.toString());
        }

        public void connect(com.sap.mw.jco.JCO.Client client, String params)
        {
            nativeConnect(client, params);
        }

        public void disconnect(com.sap.mw.jco.JCO.Client client)
        {
            parent.nativeDisconnect(client);
        }

        public void abort(com.sap.mw.jco.JCO.Client client, String message)
        {
            parent.nativeAbort(client, message);
        }

        public void reset(com.sap.mw.jco.JCO.Client client)
        {
            if(client.getAbapDebug() || client.getSapGui() > 0)
                client.disconnect();
            else
                nativeReset(client);
        }

        public boolean isAlive(com.sap.mw.jco.JCO.Client client)
        {
            return parent.nativeIsAlive(client);
        }

        public void getAttributes(com.sap.mw.jco.JCO.Client client)
        {
            parent.nativeGetAttributes(client);
        }

        public void execute(com.sap.mw.jco.JCO.Client client, String name, com.sap.mw.jco.JCO.ParameterList imp, com.sap.mw.jco.JCO.ParameterList imptab, com.sap.mw.jco.JCO.ParameterList exp, com.sap.mw.jco.JCO.ParameterList exptab, String tid, 
                String qname, int qcount)
        {
            nativeExecute(client, name, imp, imptab, exp, exptab, tid, qname, qcount);
        }

        public void confirmTID(com.sap.mw.jco.JCO.Client client, String tid)
        {
            nativeConfirmTID(client, tid);
        }

        public String createTID(com.sap.mw.jco.JCO.Client client)
        {
            return nativeCreateTID(client);
        }

        private MiddlewareRFC parent;
        private static final String JCO_CLIENT = "jco.client.client";
        private static final String JCO_USER = "jco.client.user";
        private static final String JCO_ALIAS_USER = "jco.client.alias_user";
        private static final String JCO_PASSWD = "jco.client.passwd";
        private static final String JCO_LANG = "jco.client.lang";
        private static final String JCO_SYSNR = "jco.client.sysnr";
        private static final String JCO_ASHOST = "jco.client.ashost";
        private static final String JCO_MSHOST = "jco.client.mshost";
        private static final String JCO_GWHOST = "jco.client.gwhost";
        private static final String JCO_GWSERV = "jco.client.gwserv";
        private static final String JCO_R3NAME = "jco.client.r3name";
        private static final String JCO_GROUP = "jco.client.group";
        private static final String JCO_TPHOST = "jco.client.tphost";
        private static final String JCO_TPNAME = "jco.client.tpname";
        private static final String JCO_TYPE = "jco.client.type";
        private static final String JCO_TRACE = "jco.client.trace";
        private static final String JCO_CODEPAGE = "jco.client.codepage";
        private static final String JCO_ABAP_DEBUG = "jco.client.abap_debug";
        private static final String JCO_MYSAPSSO2 = "jco.client.mysapsso2";
        private static final String JCO_GETSSO2 = "jco.client.getsso2";
        private static final String JCO_X509CERT = "jco.client.x509cert";

⌨️ 快捷键说明

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