保誠-保戶業務員媒合平台
wayne
2021-11-24 03a858f2882bedeb5925b65cb045ccbbb1202329
[update] otp呼叫方式調整,並針對sit版本除錯

刪除1個檔案
修改10個檔案
新增25個檔案
2768 ■■■■■ 已變更過的檔案
pamapi/.gitignore 1 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/pom.xml 7 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/config/ApplicationProperties.java 18 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/service/OtpWebService.java 58 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/service/dto/OtpResponseDTO.java 19 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/web/rest/OtpResource.java 7 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/web/rest/TestLoginResource.java 45 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/FindOtpLogByCondition.java 114 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/FindOtpLogByConditionResponse.java 62 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/FindOtpLogTraceByOtpLogId.java 60 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/FindOtpLogTraceByOtpLogIdResponse.java 62 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/GetHello.java 60 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/GetHelloResponse.java 62 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/ObjectFactory.java 483 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/OtpWeb.java 173 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/OtpWebService.java 87 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/SendBySMS.java 141 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/SendBySMSOrder.java 168 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/SendBySMSOrderResponse.java 62 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/SendBySMSResponse.java 62 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/SendOtpByEmail.java 114 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/SendOtpByEmailResponse.java 62 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/SendOtpBySMS.java 114 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/SendOtpBySMSOrder.java 141 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/SendOtpBySMSOrderResponse.java 62 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/SendOtpBySMSResponse.java 62 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/StringArray.java 69 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/VerifyOtp.java 141 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/VerifyOtpResponse.java 62 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/VerifySms.java 114 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/VerifySmsResponse.java 62 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/tw/com/softleader/otp/ws/package-info.java 2 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/resources/WEB-INF/lib/pcalife-otp.jar 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/resources/config/application-dev.yml 6 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/resources/config/application-sit.yml 2 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/resources/config/application-uat.yml 4 ●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/.gitignore
@@ -94,7 +94,6 @@
*.war
*.ear
*.db
!pcalife-otp.jar
!spring-core-5.3.5.jar
######################
pamapi/pom.xml
@@ -344,13 +344,6 @@
            <artifactId>wsdl4j</artifactId>
            <version>1.6.2</version>
        </dependency>
        <dependency>
            <groupId>com.pcalife.otp</groupId>
            <artifactId>pollex</artifactId>
            <version>1.1.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/WEB-INF/lib/pcalife-otp.jar</systemPath>
        </dependency>
        <!--
pamapi/src/main/java/com/pollex/pam/config/ApplicationProperties.java
@@ -16,6 +16,8 @@
    private String otpWebServicePassword;
    private String otpWebServiceSystemType;
    private String eServiceLoginUrl;
    private String eServiceLoginFunc;
    private String eServiceLoginSys;
    public boolean isMockLogin() {
        return mockLogin;
@@ -56,4 +58,20 @@
    public void seteServiceLoginUrl(String eServiceLoginUrl) {
        this.eServiceLoginUrl = eServiceLoginUrl;
    }
    public String geteServiceLoginFunc() {
        return eServiceLoginFunc;
    }
    public void seteServiceLoginFunc(String eServiceLoginFunc) {
        this.eServiceLoginFunc = eServiceLoginFunc;
    }
    public String geteServiceLoginSys() {
        return eServiceLoginSys;
    }
    public void seteServiceLoginSys(String eServiceLoginSys) {
        this.eServiceLoginSys = eServiceLoginSys;
    }
}
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);
        }
    }
}
pamapi/src/main/java/com/pollex/pam/service/dto/OtpResponseDTO.java
@@ -1,5 +1,8 @@
package com.pollex.pam.service.dto;
import java.util.Arrays;
import java.util.List;
public class OtpResponseDTO {
    private final String indexKey;
    private final boolean success;
@@ -7,14 +10,18 @@
    private final String failReason;
    public OtpResponseDTO(String[] strings) {
        if(strings.length == 4) {
            this.indexKey = strings[0];
            this.success = "0".equals(strings[1]);
            this.failCode = strings[2];
            this.failReason = strings[3];
        this(Arrays.asList(strings));
    }
    public OtpResponseDTO(List<String> strings) {
        if(strings.size() == 4) {
            this.indexKey = strings.get(0);
            this.success = "0".equals(strings.get(1));
            this.failCode = strings.get(2);
            this.failReason = strings.get(3);
        }
        else {
            throw new RuntimeException("the otp response can't format");
            throw new IllegalArgumentException("the otp response can't format: " + strings);
        }
    }
pamapi/src/main/java/com/pollex/pam/web/rest/OtpResource.java
@@ -21,6 +21,7 @@
import javax.xml.rpc.ServiceException;
import java.rmi.RemoteException;
import java.util.Arrays;
import java.util.UUID;
@RestController
@@ -43,7 +44,6 @@
    @PostMapping("/sendOtp")
    public ResponseEntity<Object> sendOtp(@RequestBody OtpLoginVM login) {
        try {
            if(applicationProperty.isMockLogin()) {
                return new ResponseEntity<>(getMockSendOtpResponse(), HttpStatus.OK);
            }
@@ -56,9 +56,6 @@
            }
            return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("can not support this login type, loginType = " + login.getLoginType().name());
        } catch (ServiceException | RemoteException e) {
            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("connecting otp web service error");
        }
    }
    @PostMapping("/verify")
@@ -79,6 +76,6 @@
    private OtpResponseDTO getMockSendOtpResponse() {
        String indexKey = UUID.randomUUID().toString().substring(0, 8);
        return new OtpResponseDTO(new String[]{indexKey, "0", "", ""});
        return new OtpResponseDTO(Arrays.asList(indexKey, "0", "", ""));
    }
}
pamapi/src/main/java/com/pollex/pam/web/rest/TestLoginResource.java
@@ -29,11 +29,9 @@
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import tw.com.softleader.otp.ws.OtpWebServicePortBindingStub;
import org.springframework.web.util.UriComponentsBuilder;
import javax.net.ssl.SSLContext;
import javax.xml.rpc.ServiceException;
import java.rmi.RemoteException;
import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
@@ -41,6 +39,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.UUID;
// todo,僅為初期接login方便使用而用get的方式登入,目前已拆出OtpResource與EServiceResource,主要是用這兩個做登入
@@ -67,48 +66,44 @@
    TokenProvider tokenProvider;
    @GetMapping("/bySMS")
    public ResponseEntity<OtpResponseDTO> sendOtpBySMS(@RequestParam("phone") String phone) throws ServiceException, RemoteException {
    public ResponseEntity<OtpResponseDTO> sendOtpBySMS(@RequestParam("phone") String phone) {
        final OtpResponseDTO otpResponseDTO = otpWebService.sendByPhone(phone);
        return new ResponseEntity<>(otpResponseDTO, HttpStatus.OK);
    }
    @GetMapping("/byEmail")
    public ResponseEntity<OtpResponseDTO> sendOtpByEmail(@RequestParam("email") String email) throws RemoteException, ServiceException {
    public ResponseEntity<OtpResponseDTO> sendOtpByEmail(@RequestParam("email") String email) {
        final OtpResponseDTO otpResponseDTO = otpWebService.sendByEmail(email);
        return new ResponseEntity<>(otpResponseDTO, HttpStatus.OK);
    }
    @GetMapping("/verifyOtp")
    public ResponseEntity<OtpResponseDTO> verifyOtp(@RequestParam("account") String account, @RequestParam("indexKey") String indexKey, @RequestParam("otpCode") String otpCode) throws ServiceException, RemoteException {
        OtpWebServicePortBindingStub stub = otpWebService.getOtpWebServicePortBindingStub();
        log.info("call OtpService verifyOTP, systemType = {}, service password = {}, indexKey = {}, paxxword = {}",
            applicationProperty.getOtpWebServiceSystemType(), applicationProperty.getOtpWebServicePassword(), indexKey, otpCode);
        String[] result =
            stub.verifyOtp(applicationProperty.getOtpWebServicePassword(), applicationProperty.getOtpWebServiceSystemType(), indexKey, otpCode);
        return new ResponseEntity<>(new OtpResponseDTO(result), HttpStatus.OK);
    public ResponseEntity<OtpResponseDTO> verifyOtp(@RequestParam("account") String account, @RequestParam("indexKey") String indexKey, @RequestParam("otpCode") String otpCode) {
        final OtpResponseDTO otpResponseDTO = otpWebService.verifyOTP(indexKey, otpCode);
        return new ResponseEntity<>(otpResponseDTO, HttpStatus.OK);
    }
    @GetMapping("/byEService")
    public ResponseEntity<EServiceResponse> loginByEService(@RequestParam("account") String account, @RequestParam("password") String password) throws Exception {
        EServiceRequest dto = new EServiceRequest();
        dto.setFunc("ValidateUserLogin");
        dto.setId(account);
        dto.setPin(password);
        dto.setPwd(password);
        dto.setSys("epos");
        String dtoJson = new ObjectMapper().writeValueAsString(dto);
        RestTemplate restTemplate = getTrustAllRestTemplate();
        settingMessageConvertesToSpecifyType(restTemplate, MediaType.ALL);
        String urlTemplate = UriComponentsBuilder.fromHttpUrl(applicationProperty.geteServiceLoginUrl())
            .queryParam("func", applicationProperty.geteServiceLoginFunc())
            .queryParam("id", account)
            .queryParam("pin", password)
            .queryParam("pwd", password)
            .queryParam("sys", applicationProperty.geteServiceLoginSys())
            .queryParam("transactionId", UUID.randomUUID().toString())
            .encode().toUriString();
        log.debug("http get loginByEService, url = {}", urlTemplate);
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        HttpEntity<String> entity = new HttpEntity<>(dtoJson, headers);
        return restTemplate.exchange(applicationProperty.geteServiceLoginUrl(), HttpMethod.POST, entity, EServiceResponse.class);
        HttpEntity<String> entity = new HttpEntity<>(headers);
        return restTemplate.exchange(urlTemplate, HttpMethod.GET, entity, EServiceResponse.class);
    }
    private void settingMessageConvertesToSpecifyType(RestTemplate restTemplate, MediaType mediaType) {
pamapi/src/main/java/tw/com/softleader/otp/ws/FindOtpLogByCondition.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,114 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>findOtpLogByCondition complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="findOtpLogByCondition"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "findOtpLogByCondition", propOrder = {
    "arg0",
    "arg1",
    "arg2"
})
public class FindOtpLogByCondition {
    protected String arg0;
    protected String arg1;
    protected String arg2;
    /**
     * å–å¾— arg0 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg0() {
        return arg0;
    }
    /**
     * è¨­å®š arg0 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg0(String value) {
        this.arg0 = value;
    }
    /**
     * å–å¾— arg1 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg1() {
        return arg1;
    }
    /**
     * è¨­å®š arg1 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg1(String value) {
        this.arg1 = value;
    }
    /**
     * å–å¾— arg2 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg2() {
        return arg2;
    }
    /**
     * è¨­å®š arg2 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg2(String value) {
        this.arg2 = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/FindOtpLogByConditionResponse.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,62 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>findOtpLogByConditionResponse complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="findOtpLogByConditionResponse"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "findOtpLogByConditionResponse", propOrder = {
    "_return"
})
public class FindOtpLogByConditionResponse {
    @XmlElement(name = "return")
    protected String _return;
    /**
     * å–å¾— return ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getReturn() {
        return _return;
    }
    /**
     * è¨­å®š return ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setReturn(String value) {
        this._return = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/FindOtpLogTraceByOtpLogId.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,60 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>findOtpLogTraceByOtpLogId complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="findOtpLogTraceByOtpLogId"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "findOtpLogTraceByOtpLogId", propOrder = {
    "arg0"
})
public class FindOtpLogTraceByOtpLogId {
    protected String arg0;
    /**
     * å–å¾— arg0 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg0() {
        return arg0;
    }
    /**
     * è¨­å®š arg0 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg0(String value) {
        this.arg0 = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/FindOtpLogTraceByOtpLogIdResponse.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,62 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>findOtpLogTraceByOtpLogIdResponse complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="findOtpLogTraceByOtpLogIdResponse"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "findOtpLogTraceByOtpLogIdResponse", propOrder = {
    "_return"
})
public class FindOtpLogTraceByOtpLogIdResponse {
    @XmlElement(name = "return")
    protected String _return;
    /**
     * å–å¾— return ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getReturn() {
        return _return;
    }
    /**
     * è¨­å®š return ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setReturn(String value) {
        this._return = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/GetHello.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,60 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>getHello complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="getHello"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "getHello", propOrder = {
    "arg0"
})
public class GetHello {
    protected String arg0;
    /**
     * å–å¾— arg0 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg0() {
        return arg0;
    }
    /**
     * è¨­å®š arg0 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg0(String value) {
        this.arg0 = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/GetHelloResponse.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,62 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>getHelloResponse complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="getHelloResponse"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "getHelloResponse", propOrder = {
    "_return"
})
public class GetHelloResponse {
    @XmlElement(name = "return")
    protected String _return;
    /**
     * å–å¾— return ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getReturn() {
        return _return;
    }
    /**
     * è¨­å®š return ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setReturn(String value) {
        this._return = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/ObjectFactory.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,483 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;
/**
 * This object contains factory methods for each
 * Java content interface and Java element interface
 * generated in the tw.com.softleader.otp.ws package.
 * <p>An ObjectFactory allows you to programatically
 * construct new instances of the Java representation
 * for XML content. The Java representation of XML
 * content can consist of schema derived interfaces
 * and classes representing the binding of schema
 * type definitions, element declarations and model
 * groups.  Factory methods for each of these are
 * provided in this class.
 *
 */
@XmlRegistry
public class ObjectFactory {
    private final static QName _FindOtpLogByCondition_QNAME = new QName("http://ws.otp.softleader.com.tw/", "findOtpLogByCondition");
    private final static QName _FindOtpLogByConditionResponse_QNAME = new QName("http://ws.otp.softleader.com.tw/", "findOtpLogByConditionResponse");
    private final static QName _FindOtpLogTraceByOtpLogId_QNAME = new QName("http://ws.otp.softleader.com.tw/", "findOtpLogTraceByOtpLogId");
    private final static QName _FindOtpLogTraceByOtpLogIdResponse_QNAME = new QName("http://ws.otp.softleader.com.tw/", "findOtpLogTraceByOtpLogIdResponse");
    private final static QName _GetHello_QNAME = new QName("http://ws.otp.softleader.com.tw/", "getHello");
    private final static QName _GetHelloResponse_QNAME = new QName("http://ws.otp.softleader.com.tw/", "getHelloResponse");
    private final static QName _SendBySMS_QNAME = new QName("http://ws.otp.softleader.com.tw/", "sendBySMS");
    private final static QName _SendBySMSOrder_QNAME = new QName("http://ws.otp.softleader.com.tw/", "sendBySMSOrder");
    private final static QName _SendBySMSOrderResponse_QNAME = new QName("http://ws.otp.softleader.com.tw/", "sendBySMSOrderResponse");
    private final static QName _SendBySMSResponse_QNAME = new QName("http://ws.otp.softleader.com.tw/", "sendBySMSResponse");
    private final static QName _SendOtpByEmail_QNAME = new QName("http://ws.otp.softleader.com.tw/", "sendOtpByEmail");
    private final static QName _SendOtpByEmailResponse_QNAME = new QName("http://ws.otp.softleader.com.tw/", "sendOtpByEmailResponse");
    private final static QName _SendOtpBySMS_QNAME = new QName("http://ws.otp.softleader.com.tw/", "sendOtpBySMS");
    private final static QName _SendOtpBySMSOrder_QNAME = new QName("http://ws.otp.softleader.com.tw/", "sendOtpBySMSOrder");
    private final static QName _SendOtpBySMSOrderResponse_QNAME = new QName("http://ws.otp.softleader.com.tw/", "sendOtpBySMSOrderResponse");
    private final static QName _SendOtpBySMSResponse_QNAME = new QName("http://ws.otp.softleader.com.tw/", "sendOtpBySMSResponse");
    private final static QName _VerifyOtp_QNAME = new QName("http://ws.otp.softleader.com.tw/", "verifyOtp");
    private final static QName _VerifyOtpResponse_QNAME = new QName("http://ws.otp.softleader.com.tw/", "verifyOtpResponse");
    private final static QName _VerifySms_QNAME = new QName("http://ws.otp.softleader.com.tw/", "verifySms");
    private final static QName _VerifySmsResponse_QNAME = new QName("http://ws.otp.softleader.com.tw/", "verifySmsResponse");
    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: tw.com.softleader.otp.ws
     *
     */
    public ObjectFactory() {
    }
    /**
     * Create an instance of {@link FindOtpLogByCondition }
     *
     */
    public FindOtpLogByCondition createFindOtpLogByCondition() {
        return new FindOtpLogByCondition();
    }
    /**
     * Create an instance of {@link FindOtpLogByConditionResponse }
     *
     */
    public FindOtpLogByConditionResponse createFindOtpLogByConditionResponse() {
        return new FindOtpLogByConditionResponse();
    }
    /**
     * Create an instance of {@link FindOtpLogTraceByOtpLogId }
     *
     */
    public FindOtpLogTraceByOtpLogId createFindOtpLogTraceByOtpLogId() {
        return new FindOtpLogTraceByOtpLogId();
    }
    /**
     * Create an instance of {@link FindOtpLogTraceByOtpLogIdResponse }
     *
     */
    public FindOtpLogTraceByOtpLogIdResponse createFindOtpLogTraceByOtpLogIdResponse() {
        return new FindOtpLogTraceByOtpLogIdResponse();
    }
    /**
     * Create an instance of {@link GetHello }
     *
     */
    public GetHello createGetHello() {
        return new GetHello();
    }
    /**
     * Create an instance of {@link GetHelloResponse }
     *
     */
    public GetHelloResponse createGetHelloResponse() {
        return new GetHelloResponse();
    }
    /**
     * Create an instance of {@link SendBySMS }
     *
     */
    public SendBySMS createSendBySMS() {
        return new SendBySMS();
    }
    /**
     * Create an instance of {@link SendBySMSOrder }
     *
     */
    public SendBySMSOrder createSendBySMSOrder() {
        return new SendBySMSOrder();
    }
    /**
     * Create an instance of {@link SendBySMSOrderResponse }
     *
     */
    public SendBySMSOrderResponse createSendBySMSOrderResponse() {
        return new SendBySMSOrderResponse();
    }
    /**
     * Create an instance of {@link SendBySMSResponse }
     *
     */
    public SendBySMSResponse createSendBySMSResponse() {
        return new SendBySMSResponse();
    }
    /**
     * Create an instance of {@link SendOtpByEmail }
     *
     */
    public SendOtpByEmail createSendOtpByEmail() {
        return new SendOtpByEmail();
    }
    /**
     * Create an instance of {@link SendOtpByEmailResponse }
     *
     */
    public SendOtpByEmailResponse createSendOtpByEmailResponse() {
        return new SendOtpByEmailResponse();
    }
    /**
     * Create an instance of {@link SendOtpBySMS }
     *
     */
    public SendOtpBySMS createSendOtpBySMS() {
        return new SendOtpBySMS();
    }
    /**
     * Create an instance of {@link SendOtpBySMSOrder }
     *
     */
    public SendOtpBySMSOrder createSendOtpBySMSOrder() {
        return new SendOtpBySMSOrder();
    }
    /**
     * Create an instance of {@link SendOtpBySMSOrderResponse }
     *
     */
    public SendOtpBySMSOrderResponse createSendOtpBySMSOrderResponse() {
        return new SendOtpBySMSOrderResponse();
    }
    /**
     * Create an instance of {@link SendOtpBySMSResponse }
     *
     */
    public SendOtpBySMSResponse createSendOtpBySMSResponse() {
        return new SendOtpBySMSResponse();
    }
    /**
     * Create an instance of {@link VerifyOtp }
     *
     */
    public VerifyOtp createVerifyOtp() {
        return new VerifyOtp();
    }
    /**
     * Create an instance of {@link VerifyOtpResponse }
     *
     */
    public VerifyOtpResponse createVerifyOtpResponse() {
        return new VerifyOtpResponse();
    }
    /**
     * Create an instance of {@link VerifySms }
     *
     */
    public VerifySms createVerifySms() {
        return new VerifySms();
    }
    /**
     * Create an instance of {@link VerifySmsResponse }
     *
     */
    public VerifySmsResponse createVerifySmsResponse() {
        return new VerifySmsResponse();
    }
    /**
     * Create an instance of {@link StringArray }
     *
     */
    public StringArray createStringArray() {
        return new StringArray();
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link FindOtpLogByCondition }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link FindOtpLogByCondition }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "findOtpLogByCondition")
    public JAXBElement<FindOtpLogByCondition> createFindOtpLogByCondition(FindOtpLogByCondition value) {
        return new JAXBElement<FindOtpLogByCondition>(_FindOtpLogByCondition_QNAME, FindOtpLogByCondition.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link FindOtpLogByConditionResponse }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link FindOtpLogByConditionResponse }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "findOtpLogByConditionResponse")
    public JAXBElement<FindOtpLogByConditionResponse> createFindOtpLogByConditionResponse(FindOtpLogByConditionResponse value) {
        return new JAXBElement<FindOtpLogByConditionResponse>(_FindOtpLogByConditionResponse_QNAME, FindOtpLogByConditionResponse.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link FindOtpLogTraceByOtpLogId }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link FindOtpLogTraceByOtpLogId }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "findOtpLogTraceByOtpLogId")
    public JAXBElement<FindOtpLogTraceByOtpLogId> createFindOtpLogTraceByOtpLogId(FindOtpLogTraceByOtpLogId value) {
        return new JAXBElement<FindOtpLogTraceByOtpLogId>(_FindOtpLogTraceByOtpLogId_QNAME, FindOtpLogTraceByOtpLogId.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link FindOtpLogTraceByOtpLogIdResponse }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link FindOtpLogTraceByOtpLogIdResponse }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "findOtpLogTraceByOtpLogIdResponse")
    public JAXBElement<FindOtpLogTraceByOtpLogIdResponse> createFindOtpLogTraceByOtpLogIdResponse(FindOtpLogTraceByOtpLogIdResponse value) {
        return new JAXBElement<FindOtpLogTraceByOtpLogIdResponse>(_FindOtpLogTraceByOtpLogIdResponse_QNAME, FindOtpLogTraceByOtpLogIdResponse.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link GetHello }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link GetHello }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "getHello")
    public JAXBElement<GetHello> createGetHello(GetHello value) {
        return new JAXBElement<GetHello>(_GetHello_QNAME, GetHello.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link GetHelloResponse }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link GetHelloResponse }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "getHelloResponse")
    public JAXBElement<GetHelloResponse> createGetHelloResponse(GetHelloResponse value) {
        return new JAXBElement<GetHelloResponse>(_GetHelloResponse_QNAME, GetHelloResponse.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SendBySMS }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link SendBySMS }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "sendBySMS")
    public JAXBElement<SendBySMS> createSendBySMS(SendBySMS value) {
        return new JAXBElement<SendBySMS>(_SendBySMS_QNAME, SendBySMS.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SendBySMSOrder }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link SendBySMSOrder }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "sendBySMSOrder")
    public JAXBElement<SendBySMSOrder> createSendBySMSOrder(SendBySMSOrder value) {
        return new JAXBElement<SendBySMSOrder>(_SendBySMSOrder_QNAME, SendBySMSOrder.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SendBySMSOrderResponse }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link SendBySMSOrderResponse }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "sendBySMSOrderResponse")
    public JAXBElement<SendBySMSOrderResponse> createSendBySMSOrderResponse(SendBySMSOrderResponse value) {
        return new JAXBElement<SendBySMSOrderResponse>(_SendBySMSOrderResponse_QNAME, SendBySMSOrderResponse.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SendBySMSResponse }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link SendBySMSResponse }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "sendBySMSResponse")
    public JAXBElement<SendBySMSResponse> createSendBySMSResponse(SendBySMSResponse value) {
        return new JAXBElement<SendBySMSResponse>(_SendBySMSResponse_QNAME, SendBySMSResponse.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SendOtpByEmail }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link SendOtpByEmail }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "sendOtpByEmail")
    public JAXBElement<SendOtpByEmail> createSendOtpByEmail(SendOtpByEmail value) {
        return new JAXBElement<SendOtpByEmail>(_SendOtpByEmail_QNAME, SendOtpByEmail.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SendOtpByEmailResponse }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link SendOtpByEmailResponse }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "sendOtpByEmailResponse")
    public JAXBElement<SendOtpByEmailResponse> createSendOtpByEmailResponse(SendOtpByEmailResponse value) {
        return new JAXBElement<SendOtpByEmailResponse>(_SendOtpByEmailResponse_QNAME, SendOtpByEmailResponse.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SendOtpBySMS }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link SendOtpBySMS }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "sendOtpBySMS")
    public JAXBElement<SendOtpBySMS> createSendOtpBySMS(SendOtpBySMS value) {
        return new JAXBElement<SendOtpBySMS>(_SendOtpBySMS_QNAME, SendOtpBySMS.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SendOtpBySMSOrder }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link SendOtpBySMSOrder }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "sendOtpBySMSOrder")
    public JAXBElement<SendOtpBySMSOrder> createSendOtpBySMSOrder(SendOtpBySMSOrder value) {
        return new JAXBElement<SendOtpBySMSOrder>(_SendOtpBySMSOrder_QNAME, SendOtpBySMSOrder.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SendOtpBySMSOrderResponse }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link SendOtpBySMSOrderResponse }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "sendOtpBySMSOrderResponse")
    public JAXBElement<SendOtpBySMSOrderResponse> createSendOtpBySMSOrderResponse(SendOtpBySMSOrderResponse value) {
        return new JAXBElement<SendOtpBySMSOrderResponse>(_SendOtpBySMSOrderResponse_QNAME, SendOtpBySMSOrderResponse.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SendOtpBySMSResponse }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link SendOtpBySMSResponse }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "sendOtpBySMSResponse")
    public JAXBElement<SendOtpBySMSResponse> createSendOtpBySMSResponse(SendOtpBySMSResponse value) {
        return new JAXBElement<SendOtpBySMSResponse>(_SendOtpBySMSResponse_QNAME, SendOtpBySMSResponse.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link VerifyOtp }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link VerifyOtp }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "verifyOtp")
    public JAXBElement<VerifyOtp> createVerifyOtp(VerifyOtp value) {
        return new JAXBElement<VerifyOtp>(_VerifyOtp_QNAME, VerifyOtp.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link VerifyOtpResponse }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link VerifyOtpResponse }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "verifyOtpResponse")
    public JAXBElement<VerifyOtpResponse> createVerifyOtpResponse(VerifyOtpResponse value) {
        return new JAXBElement<VerifyOtpResponse>(_VerifyOtpResponse_QNAME, VerifyOtpResponse.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link VerifySms }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link VerifySms }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "verifySms")
    public JAXBElement<VerifySms> createVerifySms(VerifySms value) {
        return new JAXBElement<VerifySms>(_VerifySms_QNAME, VerifySms.class, null, value);
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link VerifySmsResponse }{@code >}
     *
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link VerifySmsResponse }{@code >}
     */
    @XmlElementDecl(namespace = "http://ws.otp.softleader.com.tw/", name = "verifySmsResponse")
    public JAXBElement<VerifySmsResponse> createVerifySmsResponse(VerifySmsResponse value) {
        return new JAXBElement<VerifySmsResponse>(_VerifySmsResponse_QNAME, VerifySmsResponse.class, null, value);
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/OtpWeb.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,173 @@
package tw.com.softleader.otp.ws;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.ws.Action;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
/**
 * This class was generated by Apache CXF 3.4.4
 * 2021-09-13T18:34:27.007+08:00
 * Generated source version: 3.4.4
 *
 */
@WebService(targetNamespace = "http://ws.otp.softleader.com.tw/", name = "OtpWebService")
@XmlSeeAlso({ObjectFactory.class})
public interface OtpWeb {
    @WebMethod
    @Action(input = "http://ws.otp.softleader.com.tw/otpWeb/sendOtpByEmailRequest", output = "http://ws.otp.softleader.com.tw/otpWeb/sendOtpByEmailResponse")
    @RequestWrapper(localName = "sendOtpByEmail", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.SendOtpByEmail")
    @ResponseWrapper(localName = "sendOtpByEmailResponse", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.SendOtpByEmailResponse")
    @WebResult(name = "return", targetNamespace = "")
    public StringArray sendOtpByEmail(
        @WebParam(name = "arg0", targetNamespace = "")
        String arg0,
        @WebParam(name = "arg1", targetNamespace = "")
        String arg1,
        @WebParam(name = "arg2", targetNamespace = "")
        String arg2
    );
    @WebMethod
    @Action(input = "http://ws.otp.softleader.com.tw/otpWeb/sendBySMSOrderRequest", output = "http://ws.otp.softleader.com.tw/otpWeb/sendBySMSOrderResponse")
    @RequestWrapper(localName = "sendBySMSOrder", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.SendBySMSOrder")
    @ResponseWrapper(localName = "sendBySMSOrderResponse", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.SendBySMSOrderResponse")
    @WebResult(name = "return", targetNamespace = "")
    public String sendBySMSOrder(
        @WebParam(name = "arg0", targetNamespace = "")
        String arg0,
        @WebParam(name = "arg1", targetNamespace = "")
        String arg1,
        @WebParam(name = "arg2", targetNamespace = "")
        String arg2,
        @WebParam(name = "arg3", targetNamespace = "")
        String arg3,
        @WebParam(name = "arg4", targetNamespace = "")
        String arg4
    );
    @WebMethod
    @Action(input = "http://ws.otp.softleader.com.tw/otpWeb/findOtpLogByConditionRequest", output = "http://ws.otp.softleader.com.tw/otpWeb/findOtpLogByConditionResponse")
    @RequestWrapper(localName = "findOtpLogByCondition", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.FindOtpLogByCondition")
    @ResponseWrapper(localName = "findOtpLogByConditionResponse", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.FindOtpLogByConditionResponse")
    @WebResult(name = "return", targetNamespace = "")
    public String findOtpLogByCondition(
        @WebParam(name = "arg0", targetNamespace = "")
        String arg0,
        @WebParam(name = "arg1", targetNamespace = "")
        String arg1,
        @WebParam(name = "arg2", targetNamespace = "")
        String arg2
    );
    @WebMethod
    @Action(input = "http://ws.otp.softleader.com.tw/otpWeb/sendOtpBySMSRequest", output = "http://ws.otp.softleader.com.tw/otpWeb/sendOtpBySMSResponse")
    @RequestWrapper(localName = "sendOtpBySMS", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.SendOtpBySMS")
    @ResponseWrapper(localName = "sendOtpBySMSResponse", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.SendOtpBySMSResponse")
    @WebResult(name = "return", targetNamespace = "")
    public StringArray sendOtpBySMS(
        @WebParam(name = "arg0", targetNamespace = "")
        String arg0,
        @WebParam(name = "arg1", targetNamespace = "")
        String arg1,
        @WebParam(name = "arg2", targetNamespace = "")
        String arg2
    );
    @WebMethod
    @Action(input = "http://ws.otp.softleader.com.tw/otpWeb/sendOtpBySMSOrderRequest", output = "http://ws.otp.softleader.com.tw/otpWeb/sendOtpBySMSOrderResponse")
    @RequestWrapper(localName = "sendOtpBySMSOrder", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.SendOtpBySMSOrder")
    @ResponseWrapper(localName = "sendOtpBySMSOrderResponse", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.SendOtpBySMSOrderResponse")
    @WebResult(name = "return", targetNamespace = "")
    public String sendOtpBySMSOrder(
        @WebParam(name = "arg0", targetNamespace = "")
        String arg0,
        @WebParam(name = "arg1", targetNamespace = "")
        String arg1,
        @WebParam(name = "arg2", targetNamespace = "")
        String arg2,
        @WebParam(name = "arg3", targetNamespace = "")
        String arg3
    );
    @WebMethod
    @Action(input = "http://ws.otp.softleader.com.tw/otpWeb/findOtpLogTraceByOtpLogIdRequest", output = "http://ws.otp.softleader.com.tw/otpWeb/findOtpLogTraceByOtpLogIdResponse")
    @RequestWrapper(localName = "findOtpLogTraceByOtpLogId", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.FindOtpLogTraceByOtpLogId")
    @ResponseWrapper(localName = "findOtpLogTraceByOtpLogIdResponse", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.FindOtpLogTraceByOtpLogIdResponse")
    @WebResult(name = "return", targetNamespace = "")
    public String findOtpLogTraceByOtpLogId(
        @WebParam(name = "arg0", targetNamespace = "")
        String arg0
    );
    @WebMethod
    @Action(input = "http://ws.otp.softleader.com.tw/otpWeb/verifyOtpRequest", output = "http://ws.otp.softleader.com.tw/otpWeb/verifyOtpResponse")
    @RequestWrapper(localName = "verifyOtp", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.VerifyOtp")
    @ResponseWrapper(localName = "verifyOtpResponse", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.VerifyOtpResponse")
    @WebResult(name = "return", targetNamespace = "")
    public StringArray verifyOtp(
        @WebParam(name = "arg0", targetNamespace = "")
        String arg0,
        @WebParam(name = "arg1", targetNamespace = "")
        String arg1,
        @WebParam(name = "arg2", targetNamespace = "")
        String arg2,
        @WebParam(name = "arg3", targetNamespace = "")
        String arg3
    );
    @WebMethod
    @Action(input = "http://ws.otp.softleader.com.tw/otpWeb/getHelloRequest", output = "http://ws.otp.softleader.com.tw/otpWeb/getHelloResponse")
    @RequestWrapper(localName = "getHello", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.GetHello")
    @ResponseWrapper(localName = "getHelloResponse", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.GetHelloResponse")
    @WebResult(name = "return", targetNamespace = "")
    public String getHello(
        @WebParam(name = "arg0", targetNamespace = "")
        String arg0
    );
    @WebMethod
    @Action(input = "http://ws.otp.softleader.com.tw/otpWeb/sendBySMSRequest", output = "http://ws.otp.softleader.com.tw/otpWeb/sendBySMSResponse")
    @RequestWrapper(localName = "sendBySMS", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.SendBySMS")
    @ResponseWrapper(localName = "sendBySMSResponse", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.SendBySMSResponse")
    @WebResult(name = "return", targetNamespace = "")
    public String sendBySMS(
        @WebParam(name = "arg0", targetNamespace = "")
        String arg0,
        @WebParam(name = "arg1", targetNamespace = "")
        String arg1,
        @WebParam(name = "arg2", targetNamespace = "")
        String arg2,
        @WebParam(name = "arg3", targetNamespace = "")
        String arg3
    );
    @WebMethod
    @Action(input = "http://ws.otp.softleader.com.tw/otpWeb/verifySmsRequest", output = "http://ws.otp.softleader.com.tw/otpWeb/verifySmsResponse")
    @RequestWrapper(localName = "verifySms", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.VerifySms")
    @ResponseWrapper(localName = "verifySmsResponse", targetNamespace = "http://ws.otp.softleader.com.tw/", className = "tw.com.softleader.otp.ws.VerifySmsResponse")
    @WebResult(name = "return", targetNamespace = "")
    public String verifySms(
        @WebParam(name = "arg0", targetNamespace = "")
        String arg0,
        @WebParam(name = "arg1", targetNamespace = "")
        String arg1,
        @WebParam(name = "arg2", targetNamespace = "")
        String arg2
    );
}
pamapi/src/main/java/tw/com/softleader/otp/ws/OtpWebService.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,87 @@
package tw.com.softleader.otp.ws;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;
import javax.xml.ws.WebServiceFeature;
import javax.xml.ws.Service;
/**
 * This class was generated by Apache CXF 3.4.4
 * 2021-09-13T18:34:27.058+08:00
 * Generated source version: 3.4.4
 *
 */
@WebServiceClient(name = "otpWebService",
                  wsdlLocation = "https://vtwlifeopensyssit.pru.intranet.asia:443/pcalife-otp/ws/otpWebService?wsdl",
                  targetNamespace = "http://ws.otp.softleader.com.tw/")
public class OtpWebService extends Service {
    public final static URL WSDL_LOCATION;
    public final static QName SERVICE = new QName("http://ws.otp.softleader.com.tw/", "otpWebService");
    public final static QName OtpWebPort = new QName("http://ws.otp.softleader.com.tw/", "OtpWebServicePort");
    static {
        URL url = null;
        try {
            url = new URL("https://vtwlifeopensyssit.pru.intranet.asia:443/pcalife-otp/ws/otpWebService?wsdl");
        } catch (MalformedURLException e) {
            java.util.logging.Logger.getLogger(OtpWebService.class.getName())
                .log(java.util.logging.Level.INFO,
                     "Can not initialize the default wsdl from {0}", "https://vtwlifeopensyssit.pru.intranet.asia:443/pcalife-otp/ws/otpWebService?wsdl");
                    }
        WSDL_LOCATION = url;
    }
    public OtpWebService(URL wsdlLocation) {
        super(wsdlLocation, SERVICE);
    }
    public OtpWebService(URL wsdlLocation, QName serviceName) {
        super(wsdlLocation, serviceName);
    }
    public OtpWebService() {
        super(WSDL_LOCATION, SERVICE);
    }
    public OtpWebService(WebServiceFeature ... features) {
        super(WSDL_LOCATION, SERVICE, features);
    }
    public OtpWebService(URL wsdlLocation, WebServiceFeature ... features) {
        super(wsdlLocation, SERVICE, features);
    }
    public OtpWebService(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) {
        super(wsdlLocation, serviceName, features);
    }
    /**
     *
     * @return
     *     returns OtpWeb
     */
    @WebEndpoint(name = "otpWebPort")
    public OtpWeb getOtpWebPort() {
        return super.getPort(OtpWebPort, OtpWeb.class);
    }
    /**
     *
     * @param features
     *     A list of {@link WebServiceFeature} to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.
     * @return
     *     returns OtpWeb
     */
    @WebEndpoint(name = "otpWebPort")
    public OtpWeb getOtpWebPort(WebServiceFeature... features) {
        return super.getPort(OtpWebPort, OtpWeb.class, features);
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/SendBySMS.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,141 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>sendBySMS complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="sendBySMS"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg3" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "sendBySMS", propOrder = {
    "arg0",
    "arg1",
    "arg2",
    "arg3"
})
public class SendBySMS {
    protected String arg0;
    protected String arg1;
    protected String arg2;
    protected String arg3;
    /**
     * å–å¾— arg0 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg0() {
        return arg0;
    }
    /**
     * è¨­å®š arg0 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg0(String value) {
        this.arg0 = value;
    }
    /**
     * å–å¾— arg1 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg1() {
        return arg1;
    }
    /**
     * è¨­å®š arg1 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg1(String value) {
        this.arg1 = value;
    }
    /**
     * å–å¾— arg2 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg2() {
        return arg2;
    }
    /**
     * è¨­å®š arg2 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg2(String value) {
        this.arg2 = value;
    }
    /**
     * å–å¾— arg3 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg3() {
        return arg3;
    }
    /**
     * è¨­å®š arg3 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg3(String value) {
        this.arg3 = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/SendBySMSOrder.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,168 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>sendBySMSOrder complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="sendBySMSOrder"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg3" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg4" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "sendBySMSOrder", propOrder = {
    "arg0",
    "arg1",
    "arg2",
    "arg3",
    "arg4"
})
public class SendBySMSOrder {
    protected String arg0;
    protected String arg1;
    protected String arg2;
    protected String arg3;
    protected String arg4;
    /**
     * å–å¾— arg0 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg0() {
        return arg0;
    }
    /**
     * è¨­å®š arg0 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg0(String value) {
        this.arg0 = value;
    }
    /**
     * å–å¾— arg1 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg1() {
        return arg1;
    }
    /**
     * è¨­å®š arg1 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg1(String value) {
        this.arg1 = value;
    }
    /**
     * å–å¾— arg2 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg2() {
        return arg2;
    }
    /**
     * è¨­å®š arg2 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg2(String value) {
        this.arg2 = value;
    }
    /**
     * å–å¾— arg3 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg3() {
        return arg3;
    }
    /**
     * è¨­å®š arg3 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg3(String value) {
        this.arg3 = value;
    }
    /**
     * å–å¾— arg4 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg4() {
        return arg4;
    }
    /**
     * è¨­å®š arg4 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg4(String value) {
        this.arg4 = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/SendBySMSOrderResponse.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,62 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>sendBySMSOrderResponse complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="sendBySMSOrderResponse"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "sendBySMSOrderResponse", propOrder = {
    "_return"
})
public class SendBySMSOrderResponse {
    @XmlElement(name = "return")
    protected String _return;
    /**
     * å–å¾— return ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getReturn() {
        return _return;
    }
    /**
     * è¨­å®š return ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setReturn(String value) {
        this._return = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/SendBySMSResponse.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,62 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>sendBySMSResponse complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="sendBySMSResponse"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "sendBySMSResponse", propOrder = {
    "_return"
})
public class SendBySMSResponse {
    @XmlElement(name = "return")
    protected String _return;
    /**
     * å–å¾— return ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getReturn() {
        return _return;
    }
    /**
     * è¨­å®š return ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setReturn(String value) {
        this._return = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/SendOtpByEmail.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,114 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>sendOtpByEmail complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="sendOtpByEmail"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "sendOtpByEmail", propOrder = {
    "arg0",
    "arg1",
    "arg2"
})
public class SendOtpByEmail {
    protected String arg0;
    protected String arg1;
    protected String arg2;
    /**
     * å–å¾— arg0 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg0() {
        return arg0;
    }
    /**
     * è¨­å®š arg0 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg0(String value) {
        this.arg0 = value;
    }
    /**
     * å–å¾— arg1 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg1() {
        return arg1;
    }
    /**
     * è¨­å®š arg1 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg1(String value) {
        this.arg1 = value;
    }
    /**
     * å–å¾— arg2 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg2() {
        return arg2;
    }
    /**
     * è¨­å®š arg2 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg2(String value) {
        this.arg2 = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/SendOtpByEmailResponse.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,62 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>sendOtpByEmailResponse complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="sendOtpByEmailResponse"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="return" type="{http://ws.otp.softleader.com.tw/}stringArray" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "sendOtpByEmailResponse", propOrder = {
    "_return"
})
public class SendOtpByEmailResponse {
    @XmlElement(name = "return")
    protected StringArray _return;
    /**
     * å–å¾— return ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link StringArray }
     *
     */
    public StringArray getReturn() {
        return _return;
    }
    /**
     * è¨­å®š return ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link StringArray }
     *
     */
    public void setReturn(StringArray value) {
        this._return = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/SendOtpBySMS.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,114 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>sendOtpBySMS complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="sendOtpBySMS"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "sendOtpBySMS", propOrder = {
    "arg0",
    "arg1",
    "arg2"
})
public class SendOtpBySMS {
    protected String arg0;
    protected String arg1;
    protected String arg2;
    /**
     * å–å¾— arg0 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg0() {
        return arg0;
    }
    /**
     * è¨­å®š arg0 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg0(String value) {
        this.arg0 = value;
    }
    /**
     * å–å¾— arg1 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg1() {
        return arg1;
    }
    /**
     * è¨­å®š arg1 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg1(String value) {
        this.arg1 = value;
    }
    /**
     * å–å¾— arg2 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg2() {
        return arg2;
    }
    /**
     * è¨­å®š arg2 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg2(String value) {
        this.arg2 = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/SendOtpBySMSOrder.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,141 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>sendOtpBySMSOrder complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="sendOtpBySMSOrder"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg3" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "sendOtpBySMSOrder", propOrder = {
    "arg0",
    "arg1",
    "arg2",
    "arg3"
})
public class SendOtpBySMSOrder {
    protected String arg0;
    protected String arg1;
    protected String arg2;
    protected String arg3;
    /**
     * å–å¾— arg0 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg0() {
        return arg0;
    }
    /**
     * è¨­å®š arg0 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg0(String value) {
        this.arg0 = value;
    }
    /**
     * å–å¾— arg1 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg1() {
        return arg1;
    }
    /**
     * è¨­å®š arg1 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg1(String value) {
        this.arg1 = value;
    }
    /**
     * å–å¾— arg2 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg2() {
        return arg2;
    }
    /**
     * è¨­å®š arg2 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg2(String value) {
        this.arg2 = value;
    }
    /**
     * å–å¾— arg3 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg3() {
        return arg3;
    }
    /**
     * è¨­å®š arg3 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg3(String value) {
        this.arg3 = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/SendOtpBySMSOrderResponse.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,62 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>sendOtpBySMSOrderResponse complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="sendOtpBySMSOrderResponse"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "sendOtpBySMSOrderResponse", propOrder = {
    "_return"
})
public class SendOtpBySMSOrderResponse {
    @XmlElement(name = "return")
    protected String _return;
    /**
     * å–å¾— return ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getReturn() {
        return _return;
    }
    /**
     * è¨­å®š return ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setReturn(String value) {
        this._return = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/SendOtpBySMSResponse.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,62 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>sendOtpBySMSResponse complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="sendOtpBySMSResponse"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="return" type="{http://ws.otp.softleader.com.tw/}stringArray" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "sendOtpBySMSResponse", propOrder = {
    "_return"
})
public class SendOtpBySMSResponse {
    @XmlElement(name = "return")
    protected StringArray _return;
    /**
     * å–å¾— return ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link StringArray }
     *
     */
    public StringArray getReturn() {
        return _return;
    }
    /**
     * è¨­å®š return ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link StringArray }
     *
     */
    public void setReturn(StringArray value) {
        this._return = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/StringArray.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,69 @@
package tw.com.softleader.otp.ws;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>stringArray complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="stringArray"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="item" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "stringArray", propOrder = {
    "item"
})
public class StringArray {
    @XmlElement(nillable = true)
    protected List<String> item;
    /**
     * Gets the value of the item property.
     *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the item property.
     *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getItem().add(newItem);
     * </pre>
     *
     *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     *
     *
     */
    public List<String> getItem() {
        if (item == null) {
            item = new ArrayList<String>();
        }
        return this.item;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/VerifyOtp.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,141 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>verifyOtp complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="verifyOtp"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg3" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "verifyOtp", propOrder = {
    "arg0",
    "arg1",
    "arg2",
    "arg3"
})
public class VerifyOtp {
    protected String arg0;
    protected String arg1;
    protected String arg2;
    protected String arg3;
    /**
     * å–å¾— arg0 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg0() {
        return arg0;
    }
    /**
     * è¨­å®š arg0 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg0(String value) {
        this.arg0 = value;
    }
    /**
     * å–å¾— arg1 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg1() {
        return arg1;
    }
    /**
     * è¨­å®š arg1 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg1(String value) {
        this.arg1 = value;
    }
    /**
     * å–å¾— arg2 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg2() {
        return arg2;
    }
    /**
     * è¨­å®š arg2 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg2(String value) {
        this.arg2 = value;
    }
    /**
     * å–å¾— arg3 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg3() {
        return arg3;
    }
    /**
     * è¨­å®š arg3 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg3(String value) {
        this.arg3 = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/VerifyOtpResponse.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,62 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>verifyOtpResponse complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="verifyOtpResponse"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="return" type="{http://ws.otp.softleader.com.tw/}stringArray" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "verifyOtpResponse", propOrder = {
    "_return"
})
public class VerifyOtpResponse {
    @XmlElement(name = "return")
    protected StringArray _return;
    /**
     * å–å¾— return ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link StringArray }
     *
     */
    public StringArray getReturn() {
        return _return;
    }
    /**
     * è¨­å®š return ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link StringArray }
     *
     */
    public void setReturn(StringArray value) {
        this._return = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/VerifySms.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,114 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>verifySms complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="verifySms"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="arg2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "verifySms", propOrder = {
    "arg0",
    "arg1",
    "arg2"
})
public class VerifySms {
    protected String arg0;
    protected String arg1;
    protected String arg2;
    /**
     * å–å¾— arg0 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg0() {
        return arg0;
    }
    /**
     * è¨­å®š arg0 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg0(String value) {
        this.arg0 = value;
    }
    /**
     * å–å¾— arg1 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg1() {
        return arg1;
    }
    /**
     * è¨­å®š arg1 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg1(String value) {
        this.arg1 = value;
    }
    /**
     * å–å¾— arg2 ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getArg2() {
        return arg2;
    }
    /**
     * è¨­å®š arg2 ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setArg2(String value) {
        this.arg2 = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/VerifySmsResponse.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,62 @@
package tw.com.softleader.otp.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>verifySmsResponse complex type çš„ Java é¡žåˆ¥.
 *
 * <p>下列綱要片段會指定此類別中包含的預期內容.
 *
 * <pre>
 * &lt;complexType name="verifySmsResponse"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "verifySmsResponse", propOrder = {
    "_return"
})
public class VerifySmsResponse {
    @XmlElement(name = "return")
    protected String _return;
    /**
     * å–å¾— return ç‰¹æ€§çš„值.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getReturn() {
        return _return;
    }
    /**
     * è¨­å®š return ç‰¹æ€§çš„值.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setReturn(String value) {
        this._return = value;
    }
}
pamapi/src/main/java/tw/com/softleader/otp/ws/package-info.java
¤ñ¹ï·sÀÉ®×
@@ -0,0 +1,2 @@
@javax.xml.bind.annotation.XmlSchema(namespace = "http://ws.otp.softleader.com.tw/")
package tw.com.softleader.otp.ws;
pamapi/src/main/resources/WEB-INF/lib/pcalife-otp.jar
Binary files differ
pamapi/src/main/resources/config/application-dev.yml
@@ -32,7 +32,7 @@
      indent-output: true
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    url: jdbc:postgresql://dev.pollex.com.tw:5433/pam
    url: jdbc:postgresql://localhost:5432/pam
    username: pamadmin
    password: pamadmin
    hikari:
@@ -115,4 +115,6 @@
  otp-web-service-url: https://vtwlifeopensyssit.pru.intranet.asia:443/pcalife-otp/ws/otpWebService
  otp-web-service-password: es20!%Pass
  otp-web-service-system-type: epos
  e-service-login-url: https://ssotwsit.eservice.pcalife.com.tw/sso/acctValidate
  e-service-login-url: https://eserviceuat.pcalife.com.tw/sso/chatbotValidate
  e-service-login-func: ValidateUsrLogin
  e-service-login-sys: epos
pamapi/src/main/resources/config/application-sit.yml
@@ -116,3 +116,5 @@
  otp-web-service-password: es20!%Pass
  otp-web-service-system-type: epos
  e-service-login-url: https://eserviceuat.pcalife.com.tw/sso/chatbotValidate
  e-service-login-func: ValidateUsrLogin
  e-service-login-sys: epos
pamapi/src/main/resources/config/application-uat.yml
@@ -115,4 +115,6 @@
  otp-web-service-url: https://vtwlifeopensyssit.pru.intranet.asia:443/pcalife-otp/ws/otpWebService
  otp-web-service-password: es20!%Pass
  otp-web-service-system-type: epos
  e-service-login-url: https://ssotwsit.eservice.pcalife.com.tw/sso/acctValidate
  e-service-login-url: https://eserviceuat.pcalife.com.tw/sso/chatbotValidate
  e-service-login-func: ValidateUsrLogin
  e-service-login-sys: epos