将标头添加到Http Header

时间:2013-02-19 18:11:07

标签: android http-headers ksoap2

我正在使用kso​​ap2 for android项目。但是服务器代码(无法更改)很旧,需要在HTTP标头的头部内发送一些属性。

服务器使用soap所以我决定使用kso​​ap2 for android但是我找不到任何示例如何设置ksoap2请求的http头(不在soap信封内但在httpheader内)。

有可能吗?

如果有可能,有人可以给我一个例子吗?

2 个答案:

答案 0 :(得分:1)

可以在org.ksoap2.transport.call(String,SoapEnvelope,List,File)方法中修改HTTP标头。

修改

您可以在调用HttpTransportSE.call()

时直接传递额外的标头

示例:

.
.
.
List<HeaderProperty> headers;
headers.add(new HeaderProperty("Content-Type", "utf8"));
headers.add(new HeaderProperty("Accept", "text/html"));

HttpTransportSE httpTransport = new HttpTransportSE(_soapAddress);

httpTransport.call(soapAction, envelope, headers);
.
.
.

答案 1 :(得分:0)

您可以检索连接对象并在那里添加标题。

HttpTransportSE transport = new HttpTransportSE(url,timeout);
ServiceConnection conn = transport.getConnection();
conn.setRequestProperty("Accept-Encoding", "utf-8");
//and others...