GZIP Response not work on Axis2

2008-11-03 Thread juliocest

Hi everybody!

I made an application that send attachments on soap message using SWA and
MTOM. The client and server works properly. Now, I am trying to use GZIP in
order to compress/decompress SOAP messages.

My Service code:

public OMElement downloadFileSWA(OMElement element) throws Exception {
FileDataSource binaryDataSource;
DataHandler binaryDataHandler;
String vectorFileType[] =
{file10KB,file100KB,file1MB,file10MB,file100MB};

// Checking if the resources folder is available
File file =  new File(filePath);
if (!file.isDirectory() || !file.exists()){
throw new AxisFault(File not available in the service 
provider...);
}

// Obtain the request (incoming) from the MessageContext as 
follows
MessageContext inMessageContext =
MessageContext.getCurrentMessageContext();

// Obtain the operation context from the request message context
OperationContext operationContext =
inMessageContext.getOperationContext();

// Obtain the response (outgoing) message context from the 
operation
context
MessageContext outMessageContext =
operationContext.getMessageContext(WSDLConstants.MESSAGE_LABEL_OUT_VALUE);

outMessageContext.setProperty(HTTPConstants.MC_GZIP_RESPONSE, 
true);
outMessageContext.setProperty(HTTPConstants.MC_ACCEPT_GZIP, 
true);

// Get the first element from the received message
String firstElem = element.getFirstElement().getText();
OMElement result = null;

for (int i = 0; i  vectorFileType.length; i++) {
if (vectorFileType[i].equalsIgnoreCase(firstElem)) {
binaryDataSource = new FileDataSource(filePath 
+File.separator+
vectorFileType[i]);
binaryDataHandler = new 
DataHandler(binaryDataSource);
// Add the created data handler as an 
attachment to the outgoing
message.
String binaryID = 
outMessageContext.addAttachment(binaryDataHandler);
result = 
buildDownloadFileSWAEnvelope(vectorFileType[i],binaryID);
break;
}
}   
return result;  
}


My Client code:

public void donwloadBinarySWA(String binaryName) throws Exception {

System.out.println(Download Binary with SWA);
Options options = new Options(); 
options.setProperty(HTTPConstants.MC_GZIP_REQUEST,
Boolean.TRUE);
options.setProperty(HTTPConstants.MC_GZIP_RESPONSE, 
Boolean.TRUE);  
 
ServiceClient sender = new ServiceClient();
sender.setOptions(options);
OperationClient mepClient =
sender.createClient(ServiceClient.ANON_OUT_IN_OP);

MessageContext mc = new MessageContext();
SOAPEnvelope env = buildEnvelopeDownloadBinarySWA(binaryName);
mc.setEnvelope(env);

mepClient.addMessageContext(mc);
mepClient.execute(true);

// Get the message context for the response
MessageContext response =
mepClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
SOAPBody body = response.getEnvelope().getBody();
OMElement element = body.getFirstChildWithName(new
QName(http://service.sample/xsd;, donwloadResponse));

if (element != null) {
processDownloadBinarySWA(response, element);
} else {
throw new Exception(Malformed response.);
}
}

I am also using TCPMon to monitor all soap messages that are sent to my
service. What I can see is that all requests are compressed with GZIP but
responses are not. My tests are being made using both Axis2 1.3 (as a
server) and Tomcat 6.0.18 with this options in server.xml:

   port=8080 protocol=HTTP/1.1
   connectionTimeout=2
   redirectPort=8443
   compression=on
   compressionMinSize=2048
   noCompressionUserAgents=gozilla, traviata
   compressableMimeType=text/html,text/xml

Both in Axis2 and Tomcat the responses are not compressed.

Is it a bug on Axis2?

Someone had the same problem?

I hope some help.

Thanks.

Julio Cezar Estrella (São Carlos - SP - Brazil)

-- 
View this message in context: 
http://www.nabble.com/GZIP-Response-not-work-on-Axis2-tp20304607p20304607.html
Sent from

Re: GZIP Response not work on Axis2

2008-11-03 Thread Davanum Srinivas
did you edit tomcat server.xml?
http://www.cubicleman.com/2007/04/06/enabling-gzip-compression-with-tomcat-and-flex/

thanks,
dims

On Mon, Nov 3, 2008 at 10:20 AM, juliocest [EMAIL PROTECTED] wrote:

 Hi everybody!

 I made an application that send attachments on soap message using SWA and
 MTOM. The client and server works properly. Now, I am trying to use GZIP in
 order to compress/decompress SOAP messages.

 My Service code:

public OMElement downloadFileSWA(OMElement element) throws Exception {
FileDataSource binaryDataSource;
DataHandler binaryDataHandler;
String vectorFileType[] =
 {file10KB,file100KB,file1MB,file10MB,file100MB};

// Checking if the resources folder is available
File file =  new File(filePath);
if (!file.isDirectory() || !file.exists()){
throw new AxisFault(File not available in the service 
 provider...);
}

// Obtain the request (incoming) from the MessageContext as 
 follows
MessageContext inMessageContext =
 MessageContext.getCurrentMessageContext();

// Obtain the operation context from the request message 
 context
OperationContext operationContext =
 inMessageContext.getOperationContext();

// Obtain the response (outgoing) message context from the 
 operation
 context
MessageContext outMessageContext =
 operationContext.getMessageContext(WSDLConstants.MESSAGE_LABEL_OUT_VALUE);

outMessageContext.setProperty(HTTPConstants.MC_GZIP_RESPONSE, 
 true);
outMessageContext.setProperty(HTTPConstants.MC_ACCEPT_GZIP, 
 true);

// Get the first element from the received message
String firstElem = element.getFirstElement().getText();
OMElement result = null;

for (int i = 0; i  vectorFileType.length; i++) {
if (vectorFileType[i].equalsIgnoreCase(firstElem)) {
binaryDataSource = new FileDataSource(filePath 
 +File.separator+
 vectorFileType[i]);
binaryDataHandler = new 
 DataHandler(binaryDataSource);
// Add the created data handler as an 
 attachment to the outgoing
 message.
String binaryID = 
 outMessageContext.addAttachment(binaryDataHandler);
result = 
 buildDownloadFileSWAEnvelope(vectorFileType[i],binaryID);
break;
}
}
return result;
}


 My Client code:

public void donwloadBinarySWA(String binaryName) throws Exception {

System.out.println(Download Binary with SWA);
Options options = new Options();
options.setProperty(HTTPConstants.MC_GZIP_REQUEST,
 Boolean.TRUE);
options.setProperty(HTTPConstants.MC_GZIP_RESPONSE, 
 Boolean.TRUE);

ServiceClient sender = new ServiceClient();
sender.setOptions(options);
OperationClient mepClient =
 sender.createClient(ServiceClient.ANON_OUT_IN_OP);

MessageContext mc = new MessageContext();
SOAPEnvelope env = buildEnvelopeDownloadBinarySWA(binaryName);
mc.setEnvelope(env);

mepClient.addMessageContext(mc);
mepClient.execute(true);

// Get the message context for the response
MessageContext response =
 mepClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
SOAPBody body = response.getEnvelope().getBody();
OMElement element = body.getFirstChildWithName(new
 QName(http://service.sample/xsd;, donwloadResponse));

if (element != null) {
processDownloadBinarySWA(response, element);
} else {
throw new Exception(Malformed response.);
}
}

 I am also using TCPMon to monitor all soap messages that are sent to my
 service. What I can see is that all requests are compressed with GZIP but
 responses are not. My tests are being made using both Axis2 1.3 (as a
 server) and Tomcat 6.0.18 with this options in server.xml:

   port=8080 protocol=HTTP/1.1
   connectionTimeout=2
   redirectPort=8443
   compression=on
   compressionMinSize=2048
   noCompressionUserAgents=gozilla, traviata
   compressableMimeType=text/html,text/xml

 Both in Axis2 and Tomcat the responses are not compressed.

 Is it a bug on Axis2?

 Someone had the same problem?

 I hope some help.

 Thanks.

 Julio Cezar Estrella (São Carlos - SP - Brazil)

 --
 View this message in context: 
 http://www.nabble.com/GZIP-Response-not-work

Re: GZIP Response not work on Axis2

2008-11-03 Thread juliocest
.

 Thanks.

 Julio Cezar Estrella (São Carlos - SP - Brazil)

 --
 View this message in context:
 http://www.nabble.com/GZIP-Response-not-work-on-Axis2-tp20304607p20304607.html
 Sent from the Axis - User mailing list archive at Nabble.com.


 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]


 
 
 
 -- 
 Davanum Srinivas :: http://davanum.wordpress.com
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 

-- 
View this message in context: 
http://www.nabble.com/GZIP-Response-not-work-on-Axis2-tp20304607p20304985.html
Sent from the Axis - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]