我正在将 ksoap2 用于 android 项目。但是服务器代码(不能更改)是旧的,需要在 HTTP 标头的标头内发送一些属性。
服务器使用soap,所以我决定将ksoap2 用于android,但我找不到任何示例如何设置ksoap2 请求的http 标头(不在soap 信封内,而是在httpheader 内)。
可能吗?
如果可能的话,谁能给我举个例子?
我正在将 ksoap2 用于 android 项目。但是服务器代码(不能更改)是旧的,需要在 HTTP 标头的标头内发送一些属性。
服务器使用soap,所以我决定将ksoap2 用于android,但我找不到任何示例如何设置ksoap2 请求的http 标头(不在soap 信封内,而是在httpheader 内)。
可能吗?
如果可能的话,谁能给我举个例子?
HTTP 标头可以在 org.ksoap2.transport.call(String, SoapEnvelope, List, File) 方法中修改。
编辑
您可以在调用时直接传递额外的标头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);
.
.
.
您可以检索连接对象并在那里添加标头。
HttpTransportSE transport = new HttpTransportSE(url,timeout);
ServiceConnection conn = transport.getConnection();
conn.setRequestProperty("Accept-Encoding", "utf-8");
//and others...