如何请求gzipped /压缩的SOAP响应? [英] How to request a gzipped / compressed SOAP response?

查看:457
本文介绍了如何请求gzipped /压缩的SOAP响应?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用wsimport工具来创建一个工作非常好的soap客户端。
现在我想从服务器请求一个压缩的响应,因为响应可能相当大。

i used the wsimport tool to create a soap client which is working very well. Now I like to request a compressed response from the server because the responses can be quite big.

我不知道服务器是否能够发送压缩内容。据我所知,我必须在请求中添加Accept-Encoding:gzip

I don't know if the server is able to send compressed content. As far as I know I have to add something like "Accept-Encoding: gzip" in the request.

感谢

推荐答案

如果你使用kso​​ap jar请求,那么您需要在您的头请求中设置您的压缩方法名称。要设置头,你可以使用HeaderProperty类。这里是一个发送soap请求的简单示例。

If your using ksoap jar for soap request then you need to set your compress method name on your header request. To set header your can use HeaderProperty class for that. Here is a simple example to send soap request.

    //Create Soap Object & their envelop
SoapObject soapObject=new SoapObject(NameSpace, methodName);
SoapSerializationEnvelope envelope=new  SoapSerializationEnvelope(SoapSerializationEnvelope.VER11);
//Add request params into object
soapObject.addProperty("paramsName", "paramsValue");
//set object into envelop
envelope.setOutputSoapObject(soapObject);
//Set header property which we like, here I dont want to set any compression method so I set "none". For ksoap default compression method is "gzip".
List<HeaderProperty> headers=new ArrayList<HeaderProperty>();
HeaderProperty headerProperty=new HeaderProperty("Accept-Encoding", "none");
headers.add(headerProperty);

//Create transport object.
HttpTransportSE httpTransportSE=new HttpTransportSE(url);
//call service
httpTransportSE.call(SOAP_ACTION, envelope,headers);
//recive response
JSONResponse=(String)envelope.getResponse();

这篇关于如何请求gzipped /压缩的SOAP响应?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆