📄 middlewarerfc.java
字号:
// 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 + -