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)