46 lines
1.8 KiB
Java
46 lines
1.8 KiB
Java
package com.eactive.eai.control;
|
|
|
|
import java.util.Properties;
|
|
|
|
import com.eactive.eai.adapter.ElinkAdapter;
|
|
import com.eactive.eai.adapter.ElinkAdapterFactory;
|
|
import com.eactive.eai.common.util.Logger;
|
|
|
|
public class WebSocketSender {
|
|
static Logger logger = Logger.getLogger(Logger.LOGGER_DEFAULT);
|
|
static final String SOCK_CONTROL_ERROR = "RECEAIOSC001";
|
|
|
|
public static byte[] callService(String adapterGroupName, Properties prop, Object message, Properties tempProp) throws java.lang.Exception
|
|
{
|
|
byte[] resBytes;
|
|
try {
|
|
//new socket 과 old socket을 분기 하기 위해서
|
|
String protocol = (String)prop.getProperty("protocol");
|
|
|
|
ElinkAdapterFactory factory = ElinkAdapterFactory.newInstance();
|
|
ElinkAdapter adapter = null;
|
|
// if(protocol == null || protocol.trim().length() ==0) {
|
|
// adapter = factory.getWLIAdapter(com.eactive.eai.adapter.Keys.TYPE_NET);
|
|
// }
|
|
// else {
|
|
adapter = factory.getElinkAdapter(com.eactive.eai.adapter.Keys.TYPE_WSK);
|
|
// }
|
|
if(prop==null) {
|
|
prop = new Properties();
|
|
}
|
|
if(tempProp==null) {
|
|
tempProp = new Properties();
|
|
}
|
|
if(tempProp.getProperty("ADAPTER_GROUP_NAME") == null) {
|
|
tempProp.setProperty("ADAPTER_GROUP_NAME", adapterGroupName);
|
|
}
|
|
resBytes = (byte[])adapter.callService(adapterGroupName, prop, message, tempProp);
|
|
} catch(Exception e) {
|
|
if (logger.isError()) logger.error(e.getMessage(),e);
|
|
//throw new Exception(ExceptionUtil.getErrorCode(e, SOCK_CONTROL_ERROR));
|
|
throw e;
|
|
}
|
|
return resBytes;
|
|
}
|
|
}
|