post向https介面發送資料 部署到服務器剛開始運行正常為什么運行一會后就會報空指標
BufferedReader in = null;
StringBuilder result = new StringBuilder();
HttpsURLConnection conn = null;
ResourceBundle resource = ResourceBundle.getBundle("com/ismp/test");
String key = resource.getString("url");
String appId = resource.getString("appId");
String secret = resource.getString("secret");
ServiceOrderCT ct = serviceOrder.getServiceOrderCT();
Product product = productInstance.getProduct();
String synctime1 = df.format(new Date());
String synctime = df2.format(new Date());
String be = df.format(productInstance.getCreateDate());
String en = df.format(productInstance.getEndDate());
try {
serviceOrder.getOrg().getId();
OrderInfo orderInfo = new OrderInfo();
orderInfo.setTimeStamp(synctime);
orderInfo.setTransactionID(String.valueOf(ct.getId()));
orderInfo.setActionType(String.valueOf(actiontype));
UserInfo userInfo = new UserInfo();
userInfo.setAccNbr(productInstance.getAccountNumber());
userInfo.setUserId(String.valueOf(userinst.getId()));
userInfo.setLoginName(ct.getUserName());
userInfo.setPassword(PasswordHelper.encrypt(ct.getPassword()));
userInfo.setCustId(Long.valueOf(productInstance.getOrg().getId()));
userInfo.setCustLoginName(ct.getUserName());
userInfo.setCustName(ct.getCustomerName());
userInfo.setRealName(ct.getCustomerName());
userInfo.setSex("");
ProdInfo prodInfo = new ProdInfo();
prodInfo.setCustId(String.valueOf(serviceOrder.getOrg().getId()));
prodInfo.setProdInstId(Long.valueOf(productInstance.getId()));
prodInfo.setProductId(Integer.valueOf((int)product.getId()));
prodInfo.setProductCode(product.getCode());
prodInfo.setStartDate(be);
prodInfo.setEndDate(en);
prodInfo.setAttributes(ct.getProperties());
userInfo.setProdInfo(prodInfo);
orderInfo.setUserInfo(userInfo);
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
String sign = SecuritySHA1Utils.shaEncode(gson.toJson(orderInfo)+"&"+appId+"&"+secret+"&"+synctime1);
System.out.println(gson.toJson(orderInfo)+"&"+appId+"&"+secret+"&"+synctime1);
System.out.println(gson.toJson(orderInfo));
System.out.println(sign);
URL url = new URL(key);
conn = (HttpsURLConnection) url.openConnection();
conn.setSSLSocketFactory(new TLSSocketConnectionFactory());
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("POST");
//發送POST請求必須設定為true
conn.setDoOutput(true);
conn.setDoInput(true);
//設定連接超時時間和讀取超時時間
conn.setConnectTimeout(30000);
conn.setReadTimeout(10000);
conn.setRequestProperty("appId", appId);
conn.setRequestProperty("timestamp", synctime1);
conn.setRequestProperty("sign", sign);
conn.setRequestProperty("Content-Type", "application/json");
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(),"UTF-8");
out.write(gson.toJson(orderInfo));
out.flush();
out.close();
java.lang.NullPointerException
at sun.net.www.protocol.https.HttpsClient.checkURLSpoofing(HttpsClient.java:604)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:573)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1283)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1258)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250)
at com.ismp.group.client.SyncProductNewlh.restNewlh(SyncProductNewlh.java:120)
at com.ismp.service.order.impl.ServiceOrderService.callBackSI(ServiceOrderService.java:3060)
at com.ismp.service.order.impl.ServiceOrderService$$FastClassByCGLIB$$de2232bb.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
at com.ismp.service.order.impl.ServiceOrderService$$EnhancerByCGLIB$$9c14c04.callBackSI(<generated>)
at com.ismp.web.servlet.ApIsmpReportServlet.doApReport(ApIsmpReportServlet.java:257)
at com.ismp.web.servlet.ApIsmpReportServlet.doPost(ApIsmpReportServlet.java:164)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
具體就是這一句
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(),"UTF-8");
實在不知道什么原因 本地也復現不出來問題 請大伙們幫忙瞅一眼
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/251154.html
標籤:Web 開發
上一篇:如何用工廠模式設計以下相關業務
下一篇:synchronized問題
