今天调试一个http接口,调用端代码如下
URL url = new URL("http://www.AAA.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
ObjectOutputStream out = new ObjectOutputStream(connection.getOutputStream());
Map map = new HashMap();
map.put("type", "ttt");
out.writeObject(map);
out.flush();
out.close();
服务端代码如下:
InputStream is = ####;
ObjectInputStream ois = new ObjectInputStream(is);//异常产生出
Map map = (Map) ois.readObject();
ois.close();
is.close();
服务端在异常产生出报invalid stream header异常,跟踪代码发现是ObjectInputStream(InputStream in)方法中会检查stream的头信息readStreamHeader(),头信息异常导致invalid stream header产生,检查调用端的代码发现没有设置Content-Type,因为是用序列号的二进制流,类型为application/xml,加上一句connection.setRequestProperty("Content-Type", "application/xml"),问题解决
分享到:
相关推荐
记一次异常解决:OAuth2获取token报错invalid stream header 在整合springcloud gateway、eureka、security、OAuth2的时候,采用授权码模式,用授权码去访问/oauth/token获取token时,遇到invalid stream header异常...
为了解决这个泛型传参的问题,可以考虑使用Java的反射API。首先,可以传递一个Class对象作为方法的参数,代表User的子类。然后在`doInRedis`方法内部,通过`Class<T> userClass`来创建`TypeReference...
【Android多点触控技术实战】在Android应用开发中,多点触控技术是一项重要的交互设计,它使得用户可以通过两个或更多的手指同时操作屏幕,从而实现更丰富的交互体验。在这个场景下,我们专注于如何实现图片的自由...
Java对象的序列化和反序列化是编程中常见的任务,主要目的是为了持久化对象的状态或者在网络间传递对象。...在实际应用中,根据项目需求选择合适的方式实现序列化,并确保处理好相关的安全和性能问题。
解决这类问题的一种方法是使用`mb_convert_encoding()`或`iconv()`函数来转换文件路径的编码,确保其与当前系统的编码一致。 #### 处理文件下载时的乱码 当用户下载文件时,如果文件名中有中文或其他非ASCII字符,...
Dim header As New NativeMethods.IMAGE_DOS_HEADER(stream) If header.e_magic <> NativeMethods.IMAGE_DOS_SIGNATURE Then Throw New ArgumentException("Invalid file") End If Dim ntHeadersOffset As ...
Warning: move_uploaded_file(): Failed to open stream: Invalid argument Warning: filesize(): stat failed for ... ``` 解决这个问题的方法之一是使用`mb_convert_encoding()`或`iconv()`函数将参数转换为...
header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header('Content-Disposition: attachment;filename=' . $filename . '.xls'); header("Content-Transfer-...
proxy_next_upstream error timeout invalid_header http_502; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } server { resolver 8.8.8.8; # 另一个DNS解析地址 ...
////header("Content-Type: application/octet-stream"); ////header("Content-Type: application/download"); ////header('Content-Disposition:inline;filename="'.$outputFileName.'"'); ////header(...
#### 六、常见问题及解决方案 1. **访问页面正常但REST接口请求失败**: - 检查Nginx配置中的`proxy_pass`设置是否正确。 2. **无法访问React页面**: - 确认`location /`配置中的`root`路径指向正确的React应用...
一个JWT由三部分组成:头部(Header)、载荷(Payload)和签名(Signature)。头部通常包含两个主要部分:令牌类型(`typ`)和算法(`alg`),例如使用HS256算法。载荷则包含了声明(Claims),可以是标准声明(如...
首先,理解问题的本质:当用户点击一个超链接时,浏览器会根据HTTP响应头中的`Content-Type`字段来决定如何处理这个资源。如果`Content-Type`被设置为适合浏览的类型(如HTML、CSS或JavaScript),浏览器会尝试在...
Behavior of freeing the ArchiveStream (compressed stream) has been modified. VCLZip will now no longer try to free ArchiveStream, you must free it yourself. This was due to a problem where it would ...
* fixed: h264 with missing framerate in 1st sequence header made eac3to crash * fixed: some AC3WAV files were not detected correctly * fixed: video frame count was not displayed when 2nd pass was ...
// Invalid Range res.setHeader('Content-Range', `bytes */${fileSize}`); return res.end(); } res.statusCode = 206; // Partial Content res.setHeader('Accept-Ranges', 'bytes'); res.setHeader('...
* @return BufferedImage representation of frame, or null if n is invalid. */ public BufferedImage getFrame(int n) { BufferedImage im = null; if ((n >= 0) && (n < frameCount)) { im = (...
Nginx最初由Igor Sysoev为解决当时Web服务器面临的大规模并发连接问题而设计,自2004年首次发布以来,因其出色的性能和可靠性,在全球范围内获得了广泛的应用。 **Nginx的主要特点:** - **高性能:** 占用内存少,...