From 03a858f2882bedeb5925b65cb045ccbbb1202329 Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期三, 24 十一月 2021 16:01:04 +0800 Subject: [PATCH] [update] otp呼叫方式調整,並針對sit版本除錯 --- pamapi/src/main/java/com/pollex/pam/service/OtpWebService.java | 58 +++++++++++++++++++++++++++++++--------------------------- 1 files changed, 31 insertions(+), 27 deletions(-) diff --git a/pamapi/src/main/java/com/pollex/pam/service/OtpWebService.java b/pamapi/src/main/java/com/pollex/pam/service/OtpWebService.java index 144e202..b61ef34 100644 --- a/pamapi/src/main/java/com/pollex/pam/service/OtpWebService.java +++ b/pamapi/src/main/java/com/pollex/pam/service/OtpWebService.java @@ -6,11 +6,11 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import tw.com.softleader.otp.ws.OtpWebServiceLocator; -import tw.com.softleader.otp.ws.OtpWebServicePortBindingStub; +import tw.com.softleader.otp.ws.OtpWeb; +import tw.com.softleader.otp.ws.StringArray; -import javax.xml.rpc.ServiceException; -import java.rmi.RemoteException; +import java.net.MalformedURLException; +import java.net.URL; @Service public class OtpWebService { @@ -20,43 +20,47 @@ @Autowired ApplicationProperties applicationProperty; - public OtpResponseDTO sendByPhone(String phone) throws ServiceException, RemoteException { - OtpWebServicePortBindingStub stub = getOtpWebServicePortBindingStub(); - log.info("call OtpService sendOtpBySMS, url = {}, systemType = {}, service password = {}, phone = {}", + public OtpResponseDTO sendByPhone(String phone) { + OtpWeb otpWS = getOtpWebService(); + log.debug("call OtpService sendOtpBySMS, url = {}, systemType = {}, service password = {}, phone = {}", applicationProperty.getOtpWebServiceUrl(), applicationProperty.getOtpWebServiceSystemType(), applicationProperty.getOtpWebServicePassword(), phone); - String[] result = - stub.sendOtpBySMS(applicationProperty.getOtpWebServicePassword(), applicationProperty.getOtpWebServiceSystemType(), phone); + StringArray result = + otpWS.sendOtpBySMS(applicationProperty.getOtpWebServicePassword(), applicationProperty.getOtpWebServiceSystemType(), phone); - return new OtpResponseDTO(result); + return new OtpResponseDTO(result.getItem()); } - public OtpResponseDTO sendByEmail(String email) throws ServiceException, RemoteException { - OtpWebServicePortBindingStub stub = getOtpWebServicePortBindingStub(); - log.info("call OtpService sendByEmail, url = {}, systemType = {}, service password = {}, email = {}", + public OtpResponseDTO sendByEmail(String email) { + OtpWeb otpWS = getOtpWebService(); + log.debug("call OtpService sendByEmail, url = {}, systemType = {}, service password = {}, email = {}", applicationProperty.getOtpWebServiceUrl(), applicationProperty.getOtpWebServiceSystemType(), applicationProperty.getOtpWebServicePassword(), email); - String[] result = - stub.sendOtpByEmail(applicationProperty.getOtpWebServicePassword(), applicationProperty.getOtpWebServiceSystemType(), email); + StringArray result = + otpWS.sendOtpByEmail(applicationProperty.getOtpWebServicePassword(), applicationProperty.getOtpWebServiceSystemType(), email); - return new OtpResponseDTO(result); + return new OtpResponseDTO(result.getItem()); } - public OtpResponseDTO verifyOTP(String indexKey, String otpCode) throws ServiceException, RemoteException { - OtpWebServicePortBindingStub stub = getOtpWebServicePortBindingStub(); - log.info("call OtpService verifyOTP, url = {}, systemType = {}, service password = {}, indexKey = {}, otpCode = {}", + public OtpResponseDTO verifyOTP(String indexKey, String otpCode) { + OtpWeb otpWS = getOtpWebService(); + log.debug("call OtpService verifyOTP, url = {}, systemType = {}, service password = {}, indexKey = {}, otpCode = {}", applicationProperty.getOtpWebServiceUrl(), applicationProperty.getOtpWebServiceSystemType(), applicationProperty.getOtpWebServicePassword(), indexKey, otpCode); - String[] result = - stub.verifyOtp(applicationProperty.getOtpWebServicePassword(), applicationProperty.getOtpWebServiceSystemType(), indexKey, otpCode); + StringArray result = + otpWS.verifyOtp(applicationProperty.getOtpWebServicePassword(), applicationProperty.getOtpWebServiceSystemType(), indexKey, otpCode); - return new OtpResponseDTO(result); + return new OtpResponseDTO(result.getItem()); } - public OtpWebServicePortBindingStub getOtpWebServicePortBindingStub() throws ServiceException { - OtpWebServiceLocator locator = new OtpWebServiceLocator(); - locator.setOtpWebServicePortEndpointAddress(applicationProperty.getOtpWebServiceUrl()); - - return (OtpWebServicePortBindingStub) locator.getOtpWebServicePort(); + public OtpWeb getOtpWebService() { + final String wsUrl = applicationProperty.getOtpWebServiceUrl(); + try { + tw.com.softleader.otp.ws.OtpWebService locator + = new tw.com.softleader.otp.ws.OtpWebService(new URL(wsUrl)); + return locator.getOtpWebPort(); + } catch (MalformedURLException e) { + throw new IllegalArgumentException("Invalid url: " + wsUrl, e); + } } } -- Gitblit v1.8.0