Skip to content

Commit b3edf90

Browse files
committed
新增URL方式获取证书, 请求工具修复响应类型输入流
1 parent 4efeb74 commit b3edf90

2 files changed

Lines changed: 22 additions & 11 deletions

File tree

pay-java-common/src/main/java/com/egzosn/pay/common/http/ClientHttpRequest.java

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@
1919
import org.apache.http.entity.StringEntity;
2020
import org.apache.http.util.EntityUtils;
2121

22-
import java.io.IOException;
23-
import java.io.InputStream;
24-
import java.io.OutputStream;
22+
import java.io.*;
2523
import java.net.URI;
2624
import java.nio.charset.Charset;
2725
import java.util.Map;
@@ -352,14 +350,27 @@ private T toBean(HttpEntity entity, String[] contentType) throws IOException {
352350

353351
//是否为 输入流
354352
if (InputStream.class.isAssignableFrom(responseType)) {
355-
return (T) entity.getContent();
353+
ByteArrayOutputStream os = new ByteArrayOutputStream();
354+
entity.writeTo(os);
355+
return (T) new ByteArrayInputStream(os.toByteArray());
356+
}
357+
//是否为 字节数数组
358+
if (byte[].class.isAssignableFrom(responseType)) {
359+
ByteArrayOutputStream os = new ByteArrayOutputStream();
360+
entity.writeTo(os);
361+
return (T) os.toByteArray();
356362
}
357363
//输出流
358364
if (OutputStream.class.isAssignableFrom(responseType)) {
359365
try {
360-
T t = responseType.newInstance();
361-
entity.writeTo((OutputStream) t);
362-
return t;
366+
OutputStream t;
367+
if (responseType == OutputStream.class){
368+
t= new ByteArrayOutputStream();
369+
}else {
370+
t = (OutputStream) responseType.newInstance();
371+
}
372+
entity.writeTo( t);
373+
return (T) t;
363374
} catch (InstantiationException e) {
364375
throw new PayErrorException(new PayException("InstantiationException", e.getMessage()));
365376
} catch (IllegalAccessException e) {

pay-java-demo/src/main/java/com/egzosn/pay/demo/controller/UnionPayController.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,15 @@ public void init() {
4848
//是否为证书签名
4949
unionPayConfigStorage.setCertSign(true);
5050
//中级证书路径
51-
unionPayConfigStorage.setAcpMiddleCert("D:/certs/acp_test_middle.cer");
51+
unionPayConfigStorage.setAcpMiddleCert("http://www.egzosn.com/certs/acp_test_middle.cer");
5252
//根证书路径
53-
unionPayConfigStorage.setAcpRootCert("D:/certs/acp_test_root.cer");
53+
unionPayConfigStorage.setAcpRootCert("http://www.egzosn.com/certs/acp_test_root.cer");
5454
// 私钥证书路径
55-
unionPayConfigStorage.setKeyPrivateCert("D:/certs/acp_test_sign.pfx");
55+
unionPayConfigStorage.setKeyPrivateCert("http://www.egzosn.com/certs/acp_test_sign.pfx");
5656
//私钥证书对应的密码
5757
unionPayConfigStorage.setKeyPrivateCertPwd("000000");
5858
//设置证书对应的存储方式,这里默认为文件地址
59-
unionPayConfigStorage.setCertStoreType(CertStoreType.PATH);
59+
unionPayConfigStorage.setCertStoreType(CertStoreType.URL);
6060

6161

6262

0 commit comments

Comments
 (0)