diff --git a/pay-java-ali/pom.xml b/pay-java-ali/pom.xml index 2683373..dae4fff 100644 --- a/pay-java-ali/pom.xml +++ b/pay-java-ali/pom.xml @@ -12,6 +12,11 @@ + + com.alipay.sdk + alipay-sdk-java + 4.8.10.ALL + @@ -19,6 +24,11 @@ pay-java-common + + org.bouncycastle + bcprov-jdk15on + 1.54 + diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/http/ClientHttpRequest.java b/pay-java-common/src/main/java/com/egzosn/pay/common/http/ClientHttpRequest.java index a9ffdec..bfc799b 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/http/ClientHttpRequest.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/http/ClientHttpRequest.java @@ -19,9 +19,7 @@ import org.apache.http.entity.ContentType; import org.apache.http.entity.StringEntity; import org.apache.http.util.EntityUtils; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; +import java.io.*; import java.net.URI; import java.nio.charset.Charset; import java.util.Map; @@ -352,14 +350,27 @@ public class ClientHttpRequest extends HttpEntityEnclosingRequestBase impleme //是否为 输入流 if (InputStream.class.isAssignableFrom(responseType)) { - return (T) entity.getContent(); + ByteArrayOutputStream os = new ByteArrayOutputStream(); + entity.writeTo(os); + return (T) new ByteArrayInputStream(os.toByteArray()); + } + //是否为 字节数数组 + if (byte[].class.isAssignableFrom(responseType)) { + ByteArrayOutputStream os = new ByteArrayOutputStream(); + entity.writeTo(os); + return (T) os.toByteArray(); } //输出流 if (OutputStream.class.isAssignableFrom(responseType)) { try { - T t = responseType.newInstance(); - entity.writeTo((OutputStream) t); - return t; + OutputStream t; + if (responseType == OutputStream.class){ + t= new ByteArrayOutputStream(); + }else { + t = (OutputStream) responseType.newInstance(); + } + entity.writeTo( t); + return (T) t; } catch (InstantiationException e) { throw new PayErrorException(new PayException("InstantiationException", e.getMessage())); } catch (IllegalAccessException e) { diff --git a/pay-java-demo/pom.xml b/pay-java-demo/pom.xml index 1f47a60..144cc7f 100644 --- a/pay-java-demo/pom.xml +++ b/pay-java-demo/pom.xml @@ -86,7 +86,7 @@ com.fasterxml.jackson.core jackson-databind - [2.9.9,) + 2.9.10 diff --git a/pay-java-demo/src/main/java/com/egzosn/pay/demo/controller/UnionPayController.java b/pay-java-demo/src/main/java/com/egzosn/pay/demo/controller/UnionPayController.java index d48f0ed..f751cbe 100644 --- a/pay-java-demo/src/main/java/com/egzosn/pay/demo/controller/UnionPayController.java +++ b/pay-java-demo/src/main/java/com/egzosn/pay/demo/controller/UnionPayController.java @@ -48,15 +48,15 @@ public class UnionPayController { //是否为证书签名 unionPayConfigStorage.setCertSign(true); //中级证书路径 - unionPayConfigStorage.setAcpMiddleCert("D:/certs/acp_test_middle.cer"); + unionPayConfigStorage.setAcpMiddleCert("http://www.egzosn.com/certs/acp_test_middle.cer"); //根证书路径 - unionPayConfigStorage.setAcpRootCert("D:/certs/acp_test_root.cer"); + unionPayConfigStorage.setAcpRootCert("http://www.egzosn.com/certs/acp_test_root.cer"); // 私钥证书路径 - unionPayConfigStorage.setKeyPrivateCert("D:/certs/acp_test_sign.pfx"); + unionPayConfigStorage.setKeyPrivateCert("http://www.egzosn.com/certs/acp_test_sign.pfx"); //私钥证书对应的密码 unionPayConfigStorage.setKeyPrivateCertPwd("000000"); //设置证书对应的存储方式,这里默认为文件地址 - unionPayConfigStorage.setCertStoreType(CertStoreType.PATH); + unionPayConfigStorage.setCertStoreType(CertStoreType.URL); diff --git a/pom.xml b/pom.xml index 689af9a..775e767 100644 --- a/pom.xml +++ b/pom.xml @@ -176,20 +176,20 @@ - + \ No newline at end of file