@EnableSoapAPIClient

master
beeajax 2 years ago
parent ec2f2fa26d
commit c799fe152b

@ -0,0 +1,14 @@
package com.docus.soap.api;
import org.springframework.context.annotation.AdviceMode;
import org.springframework.context.annotation.Import;
import java.lang.annotation.*;
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Import(EnableSoapAPIClientSelector.class)
@Inherited
public @interface EnableSoapAPIClient {
AdviceMode mode() default AdviceMode.PROXY;
}

@ -0,0 +1,14 @@
package com.docus.soap.api;
import org.springframework.context.annotation.AdviceMode;
import org.springframework.context.annotation.AdviceModeImportSelector;
public class EnableSoapAPIClientSelector extends AdviceModeImportSelector<EnableSoapAPIClient> {
@Override
protected String[] selectImports(AdviceMode adviceMode) {
if (adviceMode != AdviceMode.PROXY)
throw new IllegalStateException("@EnableSoapAPIClient only support PROXY advice mode.");
return new String[]{SoapAPIConfig.class.getName()};
}
}

@ -5,6 +5,9 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
/**
* @author nicle.lin
*/
@XmlRootElement(name = "SOF_GetQRCodeBySys", namespace = "http://webservice.qrcode.pki.jhsec.com.cn/")
@XmlAccessorType(XmlAccessType.FIELD)
public class GetTableByIdDateRequest {

@ -3,39 +3,43 @@ package com.docus.soap.api.response.complain;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import java.util.ArrayList;
import java.util.List;
/**
* @author nicle.lin
*/
@XmlAccessorType(XmlAccessType.FIELD)
public class ComplaintListResult {
@XmlElement(name = "DataItem")
private final List<DataItem> dataItem = new ArrayList<>();
@XmlElement(name = "data")
private DataItem data;
@XmlElement(name = "code")
private String code;
@XmlElement(name = "totalpage")
private int totalPage;
@XmlElement(name = "msg")
private String msg;
@XmlElement(name = "totalrecord")
private int totalRecord;
public DataItem getData() {
return data;
}
public List<DataItem> getDataItem() {
return dataItem;
public void setData(DataItem data) {
this.data = data;
}
public int getTotalPage() {
return totalPage;
public String getCode() {
return code;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
public void setCode(String code) {
this.code = code;
}
public int getTotalRecord() {
return totalRecord;
public String getMsg() {
return msg;
}
public void setTotalRecord(int totalRecord) {
this.totalRecord = totalRecord;
public void setMsg(String msg) {
this.msg = msg;
}
}

@ -1,22 +1,21 @@
package com.docus.soap.api.response.complain;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.*;
import java.util.List;
@XmlRootElement(name = "SOF_GetQRCodeBySysResponse", namespace = "http://webservice.qrcode.pki.jhsec.com.cn/")
@XmlRootElement(name = "SOF_GetQRCodeBySysResponse")
@XmlAccessorType(XmlAccessType.FIELD)
public class GetComplaintListExResponse {
@XmlElement(name = "return")
private String result;
@XmlAnyElement
public List<Object> results;
public String getResult() {
return result;
public List<Object> getResults() {
return results;
}
public void setResult(String result) {
this.result = result;
public void setResults(List<Object> results) {
this.results = results;
}
}

@ -2,21 +2,25 @@ package com.docus.soap.api.response.complain;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.List;
@XmlRootElement(name = "GetTableByIdDateResponse")
/**
* @author nicle.lin
*/
@XmlRootElement(name = "SOF_GetQRCodeBySysResponse")
@XmlAccessorType(XmlAccessType.FIELD)
public class GetTableByIdDateResponse {
@XmlAnyElement
public List<Object> results;
@XmlElement(name = "GetTableByIdDateResult")
private String result;
public String getResult() {
return result;
public List<Object> getResults() {
return results;
}
public void setResult(String result) {
this.result = result;
public void setResults(List<Object> results) {
this.results = results;
}
}

@ -1,18 +1,20 @@
package com.docus.soap.api.service;
import com.docus.core.util.json.JSON;
import com.docus.soap.api.SoapAPIClient;
import com.docus.soap.api.SoapAPISettings;
import com.docus.soap.api.request.complain.GetTableByIdDateRequest;
import com.docus.soap.api.response.complain.GetComplaintListExResponse;
import com.docus.soap.api.response.complain.GetTableByIdDateResult;
import com.docus.soap.api.response.complain.ComplaintListResult;
import com.docus.soap.api.response.complain.GetTableByIdDateResponse;
import com.sun.org.apache.xerces.internal.dom.ElementNSImpl;
public class ComplaintAPIService {
private SoapAPIClient soapAPIClient;
public GetTableByIdDateResult getTableByIdDate(GetTableByIdDateRequest targetRequest, SoapAPISettings soapAPISettings) {
GetComplaintListExResponse o = (GetComplaintListExResponse) soapAPIClient.soapCall(targetRequest, soapAPISettings.getAction(), soapAPISettings.getUri());
System.out.println("1");
return null;
public ComplaintListResult getTableByIdDate(GetTableByIdDateRequest targetRequest, SoapAPISettings soapAPISettings) {
GetTableByIdDateResponse response = (GetTableByIdDateResponse) soapAPIClient.soapCall(targetRequest, soapAPISettings.getAction(), soapAPISettings.getUri());
ComplaintListResult complaintListResult = JSON.fromJSON((((ElementNSImpl) response.getResults().get(0)).getFirstChild().getTextContent()), ComplaintListResult.class);
return complaintListResult;
}
public void setWebServiceClient(SoapAPIClient webServiceClient) {

@ -2,7 +2,7 @@ package com.docus.soap.api;
import com.docus.core.util.AssertUtils;
import com.docus.soap.api.request.complain.GetTableByIdDateRequest;
import com.docus.soap.api.response.complain.GetTableByIdDateResult;
import com.docus.soap.api.response.complain.ComplaintListResult;
import com.docus.soap.api.service.ComplaintAPIService;
import org.junit.Test;
import org.junit.runner.RunWith;
@ -33,7 +33,7 @@ public class ComplaintAPIServiceTest {
public void getTableByIdDateTest() {
GetTableByIdDateRequest request = new GetTableByIdDateRequest();
request.setSys("JSScan");
GetTableByIdDateResult result = complaintAPIService.getTableByIdDate(request, getTableByIdDateSettings());
ComplaintListResult result = complaintAPIService.getTableByIdDate(request, getTableByIdDateSettings());
AssertUtils.assertNotNull(result, "not null");
}

Loading…
Cancel
Save