dev@jax-ws.java.net

Compression for the request.

From: Johannes Goehr <johannes_at_goehr.net>
Date: Wed, 2 Jul 2008 19:30:52 +0200

My idea was to send a picture to a jax-ws webservice. Because the request is
really big and slow I wanted to use gzip. My client is on

 

C#. For using gzip in the response I use Accept-Encoding Header from
HttpProtocol. For the Request I'm using Content-Encoding Header with gzip.
But not glassfish or jax-ws cares about the Encoding. I found in
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask a Method
addInputFilters() but I have no idea how to use it.

I think the right place to care about the encoding is
com.sun.xml.ws.transport.http.HttpAdapter but I didn't found a possibility.

 

Is there any way to do this or is it just a bug??

 

Johannes Goehr

 

SOAP-Meldung konnte nicht erstellt werden wegen Ausnahmefehler: Fehler im
XML-Leseprogramm: javax.xml.stream.XMLStreamException: ParseError at
[row,col]:[1,1]

Message: Inhalt ist in Prolog nicht gestattet.

com.sun.xml.ws.protocol.soap.MessageCreationException: SOAP-Meldung konnte
nicht erstellt werden wegen Ausnahmefehler: Fehler im XML-Leseprogramm:
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]

Message: Inhalt ist in Prolog nicht gestattet.

        at
com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:292)

        at
com.sun.xml.ws.transport.http.HttpAdapter.decodePacket(HttpAdapter.java:276)

        at
com.sun.xml.ws.transport.http.HttpAdapter.access$500(HttpAdapter.java:93)

        at
com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.jav
a:432)

        at
com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)

        at
com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.j
ava:135)

        at
com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3MessageDi
spatcher.java:113)

        at
com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3MessageDispat
cher.java:87)

        at
com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpoint(Ejb
WebServiceServlet.java:226)

        at
com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServiceServ
let.java:155)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)

        at
com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.java:114)

        at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632
)

        at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577
)

        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)

        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:87)

        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206
)

        at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632
)

        at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577
)

        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)

        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)

        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:150)

        at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632
)

        at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577
)

        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)

        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)

        at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)

        at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(
DefaultProcessorTask.java:637)

        at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(Defa
ultProcessorTask.java:568)

        at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(Defaul
tProcessorTask.java:813)

        at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTas
k(DefaultReadTask.java:341)

        at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadT
ask.java:263)

        at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadT
ask.java:214)

        at
com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUn
ificationPipeline.java:380)

        at
com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)

        at
com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerTh
read.java:106)