Axis Problem in response with gzip encode
843833Jan 10 2008 — edited Jan 30 2008Hello,
I have implemented a gzip send request, adding these lines at my code (on my stub class) :
...
call.setProperty(HTTPConstants.MCACCEPT_GZIP, Boolean.TRUE);
call.setProperty(HTTPConstants.MCGZIP_REQUEST, Boolean.TRUE);
...
when I run the invoke line of the Axis _Call :
java.lang.Object resp = call.invoke(new java.lang.Object[] {part});
I have this error :
java.lang.IllegalArgumentException: The char '0x1f' after 'return code: 411
' is not a valid XML character.
at org.apache.axis.components.encoding.AbstractXMLEncoder.encode(AbstractXMLEncoder.java:110)
at org.apache.axis.utils.XMLUtils.xmlEncodeString(XMLUtils.java:131)
at org.apache.axis.utils.DOM2Writer.normalize(DOM2Writer.java:344)
at org.apache.axis.utils.DOM2Writer.print(DOM2Writer.java:246)
at org.apache.axis.utils.DOM2Writer.print(DOM2Writer.java:208)
at org.apache.axis.utils.DOM2Writer.serializeAsXML(DOM2Writer.java:77)
at org.apache.axis.utils.DOM2Writer.serializeAsXML(DOM2Writer.java:60)
at org.apache.axis.utils.DOM2Writer.nodeToString(DOM2Writer.java:49)
at org.apache.axis.utils.XMLUtils.privateElementToString(XMLUtils.java:433)
at org.apache.axis.utils.XMLUtils.ElementToString(XMLUtils.java:442)
at org.apache.axis.utils.XMLUtils.getInnerXMLString(XMLUtils.java:542)
at org.apache.axis.AxisFault.dumpToString(AxisFault.java:388)
at org.apache.axis.AxisFault.printStackTrace(AxisFault.java:800)
at org.apache.log4j.spi.ThrowableInformation.getThrowableStrRep(ThrowableInformation.java:59)
at org.apache.log4j.spi.LoggingEvent.getThrowableStrRep(LoggingEvent.java:342)
at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:304)
at org.apache.log4j.RollingFileAppender.subAppend(RollingFileAppender.java:234)
at org.apache.log4j.WriterAppender.append(WriterAppender.java:159)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65)
at org.apache.log4j.Category.callAppenders(Category.java:203)
at org.apache.log4j.Category.forcedLog(Category.java:388)
at org.apache.log4j.Category.error(Category.java:319)
at it.eminds.ws.hotelbeds.OTA_HotelAvailWs.invokeService(OTA_HotelAvailWs.java:2261)
at it.eminds.ws.hotelbeds.OTA_HotelAvailWs.OTA_HotelAvailRQ(OTA_HotelAvailWs.java:1421)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
If I tryto send the xml request without gzip encode, it works good.
What is the problem?
Do I decode manually the response, or it is made automatically from Axis ??
Thanks in advance..
Francesco