2
我用wsimport工具創建了一個工作得很好的soap客戶端。 現在我喜歡從服務器請求壓縮響應,因爲響應可能很大。如何請求gzip /壓縮的SOAP響應?
我不知道服務器是否能夠發送壓縮的內容。據我所知,我必須在請求中添加諸如「Accept-Encoding:gzip」之類的內容。
如何以及在哪裏做到這一點?
感謝
我用wsimport工具創建了一個工作得很好的soap客戶端。 現在我喜歡從服務器請求壓縮響應,因爲響應可能很大。如何請求gzip /壓縮的SOAP響應?
我不知道服務器是否能夠發送壓縮的內容。據我所知,我必須在請求中添加諸如「Accept-Encoding:gzip」之類的內容。
如何以及在哪裏做到這一點?
感謝
如果您使用KSOAP罐子SOAP請求,那麼你需要設置你的頭請求您的壓縮方法的名稱。要設置標題,您可以使用HeaderProperty類。這是一個發送肥皂請求的簡單示例。
//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();