com.sun.jersey.multipart.impl.MultiPartReaderClientSide.unquoteMediaTypeParameters

本来已经有一个功能比较成熟的客户端,用于向后台发送XML内容,是用jersey组件写的,因此主要是调用API,比较容易。

最近要实现一个从客户端发送XML文件到服务器的功能,并且不用jersey实现,后台是还是用jersey组件接收。

数据格式组织好之后,发送,可是发送的时候后台一直报500错误,提示为:

java.lang.NullPointerException

com.sun.jersey.multipart.impl.MultiPartReaderClientSide.unquoteMediaTypeParameters(MultiPartReaderClientSide.java:227)

。。。

。。。

。。。


这个报错信息的重点看上去像是unquoteMediaTypeParameters这里,应该是MediaType参数的问题。

然后用原来成熟的客户端发送了一遍,并且查看发送的http内容,查看其中header部分,发现了问题:


本次发送的内容:

com.sun.jersey.multipart.impl.MultiPartReaderClientSide.unquoteMediaTypeParameters_第1张图片

用jersey组件发送的内容

com.sun.jersey.multipart.impl.MultiPartReaderClientSide.unquoteMediaTypeParameters_第2张图片

可以明显地看出,http header中的Content-Type部分不一样,少了boundary参数,再看看代码:


conn.setRequestProperty("Content-Type","multipart/form-data;");

把这一句修改为:


conn.setRequestProperty("Content-Type","multipart/form-data;boundary=Boundary-b1ed-4060-99b9-fca7ff59c113"); 

然后再发送的时候就不报错了。问题解决。

你可能感兴趣的:(com.sun.jersey.multipart.impl.MultiPartReaderClientSide.unquoteMediaTypeParameters)