2010-12-13 11 views
0

Ich brauche die Komprimierung beim Senden von SOAP-Anfragen und Empfangen von Antworten vom WebService. Leider habe ich keine Hinweise zur Aktivierung der GZIP-Komprimierung gefunden. Hier ist der einfache Code verwende ich die Seife Anfrage senden:SOAPMessage - SOAPConnection - gzip - wie zu

SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance(); 

SOAPConnection sc = scf.createConnection(); 

MessageFactory mf = MessageFactory.newInstance(); 

SOAPMessage message = mf.createMessage(); 

/* 
.... some code 
*/ 

URL url = new URL("https://blahblah/service/ws/Someservice"); 

SOAPMessage reply = sc.call(message, url); 

Gibt es eine Möglichkeit, die Komprimierung auf der API-Ebene zu ermöglichen, oder muss ich auf die Soapmessage wickeln Kompression selbst zu implementieren?

Antwort

1
SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance(); 

SOAPConnection sc = scf.createConnection(); 

MessageFactory mf = MessageFactory.newInstance(); 

SOAPMessage message = mf.createMessage(); 

//************** HERE YOU DO THE GZIP******************************** 

MimeHeaders hd = message .getMimeHeaders(); 
hd.addHeader("Accept-Encoding", "gzip,deflate,sdch"); 

/* 
.... some code 
*/ 

URL url = new URL("https://blahblah/service/ws/Someservice"); 

SOAPMessage reply = sc.call(message, url); 
Verwandte Themen