Skip to content

Instantly share code, notes, and snippets.

@tuanngo
Created March 6, 2019 09:16
Show Gist options
  • Save tuanngo/73dea1f6b1d48086a12c675205d2c94a to your computer and use it in GitHub Desktop.
Save tuanngo/73dea1f6b1d48086a12c675205d2c94a to your computer and use it in GitHub Desktop.
soap
public class AccountDetailsServiceWSUtil
{
private static Log log = LogFactoryUtil.getLog(VehicleManagementServiceWSUtil.class);
private static AccountDetailsService_PortType service;
public AccountDetailsServiceWSUtil()
{
}
private static AccountDetailsService_PortType getServiceInstance()
{
AccountDetailsService_ServiceLocator serviceLocator = new AccountDetailsService_ServiceLocator();
String serivceUrl = MoscConfig.getString(MoscConstants.ACCOUNTDETAILS_SERVICE_URL);
try
{
service = serviceLocator.getAccountDetailsServicePort();
if (serivceUrl != null)
{
java.net.URL endpoint;
endpoint = new java.net.URL(serivceUrl);
AccountDetailsServiceWSUtil.service = serviceLocator.getAccountDetailsServicePort(endpoint);
}
}
catch (ServiceException e)
{
AccountDetailsServiceWSUtil.log.error(e.getMessage());
}
catch (MalformedURLException e)
{
AccountDetailsServiceWSUtil.log.error(e.getMessage());
}
return AccountDetailsServiceWSUtil.service;
}
/**
* getOrdersDetailsForUser
*
* @param headerObj
* @param userId
* @return
*/
public static GetOrdersDetailsForUserResponseType getOrdersDetailsForUser(MessageHeaderObj headerObj,
String userId)
{
HTIServiceUtil.logInfoService("Call AccountDetailsService getOrdersDetailsForUser " + "userId=" + userId);
long t1 = System.currentTimeMillis();
if (service == null)
{
service = AccountDetailsServiceWSUtil.getServiceInstance();
}
GetOrdersDetailsForUserResponseType responseType = null;
try
{
MessageHeader2 header = AccountDetailsServiceWSUtil.getMessageHeader2(headerObj);
GetOrdersDetailsForUserReqDataType data = new GetOrdersDetailsForUserReqDataType();
data.setUserId(userId);
GetOrdersDetailsForUserType requestType = new GetOrdersDetailsForUserType();
requestType.setHeader(header);
requestType.setData(data);
responseType = service.getOrdersDetailsForUser(requestType);
AccountDetailsServiceWSUtil.log.info("ResponseCode : " + responseType.getResponse().getResponseCode());
}
catch (RemoteException e)
{
AccountDetailsServiceWSUtil.log.error(e.getMessage());
}
log.info("Call AccountDetailsService getOrdersDetailsForUser = " + (System.currentTimeMillis() - t1)
+ "ms");
return responseType;
}
/**
* queryAccountDetails - all param is optional
*
* @param headerObj
* @param accountID
* @param dealerCode
* @param dealerType
* @param MSISDN
* @param PIN
* @param VIN
* @return
*/
public static QueryAccountDetailsResponseType queryAccountDetails(MessageHeaderObj headerObj,
String accountID, String dealerCode, String dealerType, String MSISDN, String PIN, String VIN)
{
HTIServiceUtil.logInfoService("Call AccountDetailsService queryAccountDetails ");
long t1 = System.currentTimeMillis();
if (service == null)
{
service = AccountDetailsServiceWSUtil.getServiceInstance();
}
QueryAccountDetailsResponseType responseType = null;
try
{
MessageHeader header = AccountDetailsServiceWSUtil.getMessageHeader(headerObj);
QueryAccountDetailsInputDataAreaType data = new QueryAccountDetailsInputDataAreaType();
data.setAccountID(accountID);
data.setDealerCode(dealerCode);
data.setDealerType(dealerType);
data.setMSISDN(MSISDN);
data.setOEM(HTIServiceUtil.OEM);
data.setPIN(PIN);
data.setVIN(VIN);
QueryAccountDetailsType requestType = new QueryAccountDetailsType();
requestType.setHeader(header);
requestType.setData(data);
responseType = service.queryAccountDetails(requestType);
AccountDetailsServiceWSUtil.log.info("ResponseCode : " + responseType.getResponse().getResponseCode());
}
catch (RemoteException e)
{
AccountDetailsServiceWSUtil.log.error(e.getMessage());
}
log.info("Call AccountDetailsService queryAccountDetails = " + (System.currentTimeMillis() - t1) + "ms");
return responseType;
}
/**
* @param headerObj
* @return
*/
private static MessageHeader getMessageHeader(MessageHeaderObj headerObj)
{
MessageHeader messageHeader = new MessageHeader();
messageHeader.setSourceName(headerObj.getSourceName());
messageHeader.setTargetName(headerObj.getTargetName());
messageHeader.setTransactionId(headerObj.getTransactionId());
messageHeader.setTimestamp(DateUtil.getTimeStampService());
return messageHeader;
}
/**
* @param headerObj
* @return
*/
private static MessageHeader2 getMessageHeader2(MessageHeaderObj headerObj)
{
MessageHeader2 messageHeader = new MessageHeader2();
messageHeader.setApplicationName(ApplicationNameType.value1);
messageHeader.setOrganization(OrgId.value5);
messageHeader.setRegion(RegionType.China);
messageHeader.setSourceName(SourceType.WEB);
messageHeader.setTargetName(headerObj.getTargetName());
messageHeader.setTransactionId(headerObj.getTransactionId());
messageHeader.setTimestamp(DateUtil.getTimeStampService());
return messageHeader;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment