我用HttpClient调人家的服务,如何手动设置请求时Content-Length的值?自动生成的像下面这样:
12-26 18:02:31.932 DEBUG org.apache.http.headers - >> Transfer-Encoding: chunked
12-26 18:02:31.932 DEBUG org.apache.http.headers - >> User-Agent: Apache-HttpClient/4.2-alpha1 (java 1.5)
12-26 18:02:31.933 DEBUG org.apache.http.wire - >> "2f6[\r][\n]"
12-26 18:02:31.934 DEBUG org.apache.http.wire - >> "<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.。。
服务端只认正文上面是Content-Length:xxx,没有就报无法解析!苦闷.
即下面格式就可以被服务端解析到:
12-26 18:02:31.932 DEBUG org.apache.http.headers - >> Transfer-Encoding: chunked
12-26 18:02:31.932 DEBUG org.apache.http.headers - >> User-Agent: Apache-HttpClient/4.2-alpha1 (java 1.5)
12-26 18:02:31.933 DEBUG org.apache.http.wire - >> "Content-Length: 812"
12-26 18:02:31.934 DEBUG org.apache.http.wire - >> "<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.。。
那个2f6是Content-Length的16进制,是自动生成的,能不能手动设啊?
我试过postmethod.setHeader("Content-Length",xmlRequest.getBytes().length+"") ;
但报Content-Length已存在,可是日志上又看不到。