public static container UserInfoByIDRequest(str _storeName, str _idType, str _idNo, str _extRef,str _username = "",str _password = "")
{
TIDIDSSIMPONI.ServiceReferences.TIDIDSSR.Summary summary;
TIDIDSSIMPONI.ServiceReferences.TIDIDSSR.RemittanceClient svcClient;
TIDIDSSIMPONI.ServiceReferences.TIDIDSSR.UserInfoByIDRequest request;
TIDIDSSIMPONI.ServiceReferences.TIDIDSSR.UserInfoByIDResponse response;
CLRObject clrObject;
System.Exception ex;
str errorCode, errorMesg;
container returnCon;
boolean canConnectAPI;
str errorCanConnectAPI;
new InteropPermission(InteropKind::ClrInterop).assert();
try
{
clrObject = CLRInterop::getType("TIDIDSSIMPONI.ServiceReferences.TIDIDSSR.RemittanceClient");
svcClient = AifUtil::createServiceClient(clrObject);
request = new TIDIDSSIMPONI.ServiceReferences.TIDIDSSR.UserInfoByIDRequest();
//if no username or password provided, get from AX
if(!_username || !_password)
{
_username = TIDIDSSimponiWebConsumeMethod::getUserNamePasswordStore(_storeName).IPMS_GaleriUserName;
_password = TIDIDSSimponiWebConsumeMethod::getUserNamePasswordStore(_storeName).IPMS_GaleriPassword;
}
request.set_Username(_username);
request.set_Password(_password);
request.set_StoreName(_storeName);
request.set_IdType(_idType);
request.set_IdNo(_idNo);
request.set_ExtRef(_extRef);
//consuming webservice API
response = svcClient.GetUserInfoByID(request);
summary = response.get_Summary();
//unpack to variable
errorCode = summary.get_ErrorCode();
errorMesg = summary.get_ErrorMessage();
//packing all variable to container and return it
returnCon += errorCode;
returnCon += errorMesg;
//sucess connect to webAPI
canConnectAPI = true;
}
catch(Exception::CLRError)
{
ex = CLRInterop::getLastException();
info(ex.ToString());
canConnectAPI = false;
errorCanConnectAPI =ex.ToString();
}
return [canConnectAPI, errorCanConnectAPI, returnCon];
}