Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java获取的HttpsURLConnection数据不足写入错误_Java_Spring_Httpsurlconnection - Fatal编程技术网

java获取的HttpsURLConnection数据不足写入错误

java获取的HttpsURLConnection数据不足写入错误,java,spring,httpsurlconnection,Java,Spring,Httpsurlconnection,我想通过post方法调用httpurl并使用Httpsurlconnection获取一些json负载,并发送body json和一些头参数。下面是我的代码,我得到的错误数据不足 JAVA public Map<String, Object> makeHttpPostRequestCall(String httpURL, Map<String, Object> apiParamsMap) { logger.info("call request call");

我想通过post方法调用httpurl并使用
Httpsurlconnection
获取一些json负载,并发送body json和一些头参数。下面是我的代码,我得到的错误数据不足

JAVA

public Map<String, Object> makeHttpPostRequestCall(String httpURL, Map<String, Object> apiParamsMap) {
    logger.info("call request call");
    String nonce = UUID.randomUUID().toString();
    String encodedNonce = Base64.getEncoder().encodeToString(nonce.getBytes());
    String token = UtilService.getString(apiParamsMap, RyderConnectConstants.PRIMARY_KEY);
    JSONObject body = new JSONObject();
    body.put("startDateTime", "2017-07-21T17:32:28Z");
    body.put("endDateTime", "2017-07-22T17:32:28Z");
    BufferedReader reader = null;
    URL url;
    Map<String, Object> feedPaylaod = null;
    try {
        url = new URL(httpURL);
        URLConnection connection = url.openConnection();
        HttpsURLConnection httpConn = (HttpsURLConnection) connection;

        httpConn.setRequestProperty("Content-Type", "application/json");
        httpConn.setRequestProperty("nonce", encodedNonce);
        httpConn.setRequestProperty("Ocp-Apim-Subscription-Key", token);

        httpConn.setDoOutput(true);
        httpConn.setRequestProperty("Body", body.toString());
        logger.info("pp1");
        httpConn.setRequestProperty( "charset", "utf-8");


        httpConn.setFixedLengthStreamingMode(body.toString().length());
        httpConn.setRequestMethod("POST");
        logger.info("pp");

        DataOutputStream out = new DataOutputStream(httpConn.getOutputStream());
        out.write(body.toString());
        out.close();
        reader = new BufferedReader(new InputStreamReader(httpConn.getInputStream()));
        logger.info("reader"+reader);
        String line = null;
        StringWriter out =  new StringWriter(connection.getContentLength() > 0 ? connection.getContentLength() : 20480);
        logger.info("out"+out);
        while ((line = reader.readLine()) != null) {
            out.append(line);
        }
        String response = out.toString();
        feedPaylaod = stringToMap(response);
    } catch (Exception e) {
        feedPaylaod = Maps.newHashMap();
        logger.error(e.getMessage());
    }
    return feedPaylaod;
}
公共映射makeHttpPostRequestCall(字符串httpURL,映射apiParamsMap){
logger.info(“呼叫请求呼叫”);
字符串nonce=UUID.randomUUID().toString();
字符串encodedNonce=Base64.getEncoder().encodeToString(nonce.getBytes());
String-token=UtilService.getString(apiParamsMap,RyderConnectConstants.PRIMARY_键);
JSONObject body=新的JSONObject();
body.put(“startDateTime”,“2017-07-21T17:32:28Z”);
正文.put(“endDateTime”,“2017-07-22T17:32:28Z”);
BufferedReader reader=null;
网址;
Map feedPaylaod=null;
试一试{
url=新url(httpURL);
URLConnection=url.openConnection();
HttpsURLConnection httpConn=(HttpsURLConnection)连接;
setRequestProperty(“内容类型”、“应用程序/json”);
httpConn.setRequestProperty(“nonce”,encodednone);
httpConn.setRequestProperty(“Ocp Apim订阅密钥”,令牌);
httpConn.setDoOutput(真);
httpConn.setRequestProperty(“Body”,Body.toString());
logger.info(“pp1”);
httpConn.setRequestProperty(“字符集”、“utf-8”);
httpConn.setFixedLengthStreamingMode(body.toString().length());
httpConn.setRequestMethod(“POST”);
logger.info(“pp”);
DataOutputStream out=新的DataOutputStream(httpConn.getOutputStream());
out.write(body.toString());
out.close();
reader=新的BufferedReader(新的InputStreamReader(httpConn.getInputStream());
logger.info(“读卡器”+读卡器);
字符串行=null;
StringWriter out=新的StringWriter(connection.getContentLength()>0?connection.getContentLength():20480);
logger.info(“输出”+输出);
而((line=reader.readLine())!=null){
out.追加(行);
}
字符串响应=out.toString();
feedPaylaod=stringToMap(响应);
}捕获(例外e){
feedPaylaod=Maps.newHashMap();
logger.error(例如getMessage());
}
返回feedPaylaod;
}