Hi Richard,

Which version of CXF do you use?
I think it probably is a bug of the JaxWsClientProxyFactoryBean.

Willem.
Shaw, Richard A wrote:
I've tried this and it doesn't seem to work. My config file is shown below. The 
http-conf works fine but not the jaxws:client. I've tried uisng a features 
instead of the inInterceptor but it makes no difference. The only time it works 
is when I use the config at the bottom which adds the interceptor to the bus.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans";
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  xmlns:http-conf="http://cxf.apache.org/transports/http/configuration";
  xmlns:jaxws="http://cxf.apache.org/jaxws";
  xmlns:sec="http://cxf.apache.org/configuration/security";
  xsi:schemaLocation="http://cxf.apache.org/transports/http/configuration 
http://cxf.apache.org/schemas/configuration/http-conf.xsd
                                          http://cxf.apache.org/jaxws 
http://cxf.apache.org/schemas/jaxws.xsd
                                          http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd";>

        <http-conf:conduit 
name="{http://datex2.eu/wsdl/clientPull/1_0}clientPullSoapEndPoint.http-conduit";>
                <http-conf:client AcceptEncoding="gzip, deflate"/>
                <http-conf:authorization>
                        <sec:UserName>me</sec:UserName>
                        <sec:Password>password</sec:Password>
                </http-conf:authorization>
        </http-conf:conduit>

    <bean id="GZIPStream" 
class="com.atkinsglobal.mosaic.cxf.extensions.GZipInterceptor"/>

        <jaxws:client name="{http://datex2.eu/wsdl/clientPull/1_0}clientPullSoapEndPoint"; 
createdFromAPI="true">
<!--     <jaxws:features>
             <bean class="com.atkinsglobal.mosaic.cxf.extensions.GZipFeature"/>
         </jaxws:features>-->
           <jaxws:inInterceptors>
            <ref bean="GZIPStream"/>
           </jaxws:inInterceptors>
        </jaxws:client>

<!-- We are adding the interceptors to the bus as we will have only one endpoint/service/bus. <bean id="cxf" class="org.apache.cxf.bus.CXFBusImpl">
        <property name="inInterceptors">
            <list>
                <ref bean="GZIPStream"/>
            </list>
        </property>
        <property name="outInterceptors">
            <list>
                <ref bean="GZIPStream"/>
            </list>
        </property>
</bean> --> </beans>

Richard Shaw

¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø¤º°`°º¤ø,¸¸,ø¤

Richard Shaw Technical Design Authority - Information Solutions Consultancy Intelligent Transport Systems Atkins Highways and Transportation Woodcote Grove, Ashley Road, Epsom, Surrey, KT18 5BW

Tel: +44 (0) 1372 756407 Fax: +44 (0) 1372 740055 Mob: 07740 817586 E-mail: [EMAIL PROTECTED]

www.atkinsglobal.com/its

-----Original Message-----
From: Liu, Jervis [mailto:[EMAIL PROTECTED] Sent: 05 November 2007 03:03
To: [email protected]
Cc: Shaw, Richard A
Subject: RE: Gzip encoding

Hi Shaw, you can configure your client side interceptors using feature. An 
example can be found from dispatch system test: 
\trunk\systests\src\test\java\org\apache\cxf\systest\dispatch\TestDispatchFeature.java
 and client-config.xml.

Cheers,
Jervis

-----Original Message-----
From: Daniel Kulp [mailto:[EMAIL PROTECTED]
Sent: 2007?11?3? 1:43
To: [email protected]
Cc: Shaw, Richard A
Subject: Re: Gzip encoding



Hmm... not really sure how to add it to the dispatch style suff via spring. Interesting. That said, bus level might make sense if the interceptor was updated to handle the case where it's not gzip as well. Basically, "Accept-Encoding" is a hint and the server may not respond in gzip form. Thus, the interceptor should check the request header and if the headers don't say it's gzipped, skip it. The interceptor may also need to reset the Message.CONTENT_TYPE and Message.ENCODING properties. Not really sure though.

Dan


On Friday 02 November 2007, Shaw, Richard A wrote:
In reply to my previous message I can see that there is an example interceptor to GZIP. I've copied this but now I don't know
how to add
it to my dispatch call.

The example adds it to the bus, but I have other services on the bus which are not using GZIP.

I've found an example that adds it to a jaxws:client but it needs a serviceClass and I don't have one because I'm using the dispatch interface.

Can anybody help. Ideally I'd like to add it to my spring
config. But
if I have to add it to my code I can live with that to get
it working.
Thanks


Richard Shaw

¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø¤º°`°º¤
ø,¸¸,ø¤
Richard Shaw
Technical Design Authority - Information Solutions Consultancy Intelligent Transport Systems

Atkins Highways and Transportation
Woodcote Grove, Ashley Road, Epsom, Surrey, KT18 5BW

Tel: +44 (0) 1372 756407
Fax: +44 (0) 1372 740055
Mob: 07740 817586
E-mail: [EMAIL PROTECTED]

www.atkinsglobal.com/its

-----Original Message-----
From: Shaw, Richard A [mailto:[EMAIL PROTECTED]
Sent: 02 November 2007 11:23
To: [email protected]
Subject: Gzip encoding

I'm using the dispatch interface to request data from a web service which returns the data in gzip format.

Can CXF handle this ? I've set the Accept-Encoding to gzip
and can see
the compressed data being received (using Ethereal) but I get the following error -

org.apache.cxf.interceptor.Fault: Unable to create envelope
from given
source: at

org.apache.cxf.jaxws.interceptors.DispatchInInterceptor.handleMessage(
DispatchInInterceptor.java:114) at

org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
rChain.java:147) at

org.apache.cxf.jaxws.DispatchImpl.onMessage(DispatchImpl.java:259) at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRe
sponse(HTTPConduit.java:1825) at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.doClose(
HTTPConduit.java:1690) at

org.apache.cxf.io.AbstractCachedOutputStream.close(AbstractCachedOutpu
tStream.java:114) at

org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66
) at

org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndin
gInterceptor.handleMessage(MessageSenderInterceptor.java:62) at

org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
rChain.java:147) at
org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:146) at
org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:104) at

com.atkinsglobal.mosaic.datafetch.DataFetchUtils.test(DataFetchUtils.j
ava:120) at

com.atkinsglobal.mosaic.datafetch.PollDataFetchServer.main(PollDataFet
chServer.java:24) Caused by:
com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to create envelope from given source: at

com.sun.xml.messaging.saaj.soap.EnvelopeFactory.createEnvelope(Envelop
eFactory.java:114) at

com.sun.xml.messaging.saaj.soap.ver1_1.SOAPPart1_1Impl.createEnvelopeF
romSource(SOAPPart1_1Impl.java:71) at

com.sun.xml.messaging.saaj.soap.SOAPPartImpl.getEnvelope(SOAPPartImpl.
java:125) at

com.sun.xml.messaging.saaj.soap.MessageImpl.getSOAPBody(MessageImpl.ja
va:1237) at

org.apache.cxf.jaxws.interceptors.DispatchInInterceptor.handleMessage(
DispatchInInterceptor.java:89) ... 12 more Caused by: javax.xml.transform.TransformerException:
org.xml.sax.SAXParseException: Content is not allowed in prolog. at

org.apache.xalan.transformer.TransformerIdentityImpl.transform(Transfo
rmerIdentityImpl.java:501) at

com.sun.xml.messaging.saaj.util.transform.EfficientStreamingTransforme
r.transform(EfficientStreamingTransformer.java:390) at

com.sun.xml.messaging.saaj.soap.EnvelopeFactory.createEnvelope(Envelop
eFactory.java:102) ... 16 more
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog. at

com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Abs
tractSAXParser.java:1269) at
org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:333) at

org.apache.xalan.transformer.TransformerIdentityImpl.transform(Transfo
rmerIdentityImpl.java:484) ... 18 more Exception in thread "main" java.lang.RuntimeException:
org.apache.cxf.interceptor.Fault: Unable to create envelope
from given
source: at

org.apache.cxf.jaxws.DispatchImpl.waitResponse(DispatchImpl.java:204)
at
org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:181) at
org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:104) at

com.atkinsglobal.mosaic.datafetch.DataFetchUtils.test(DataFetchUtils.j
ava:120) at

com.atkinsglobal.mosaic.datafetch.PollDataFetchServer.main(PollDataFet
chServer.java:24) Caused by: org.apache.cxf.interceptor.Fault: Unable to create envelope from given source: at

org.apache.cxf.jaxws.interceptors.DispatchInInterceptor.handleMessage(
DispatchInInterceptor.java:114) at

org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
rChain.java:147) at

org.apache.cxf.jaxws.DispatchImpl.onMessage(DispatchImpl.java:259) at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRe
sponse(HTTPConduit.java:1825) at

org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.doClose(
HTTPConduit.java:1690) at

org.apache.cxf.io.AbstractCachedOutputStream.close(AbstractCachedOutpu
tStream.java:114) at

org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66
) at

org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndin
gInterceptor.handleMessage(MessageSenderInterceptor.java:62) at

org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
rChain.java:147) at

org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:146) ... 3
more
Caused by: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to create envelope from given source: at

com.sun.xml.messaging.saaj.soap.EnvelopeFactory.createEnvelope(Envelop
eFactory.java:114) at

com.sun.xml.messaging.saaj.soap.ver1_1.SOAPPart1_1Impl.createEnvelopeF
romSource(SOAPPart1_1Impl.java:71) at

com.sun.xml.messaging.saaj.soap.SOAPPartImpl.getEnvelope(SOAPPartImpl.
java:125) at

com.sun.xml.messaging.saaj.soap.MessageImpl.getSOAPBody(MessageImpl.ja
va:1237) at

org.apache.cxf.jaxws.interceptors.DispatchInInterceptor.handleMessage(
DispatchInInterceptor.java:89) ... 12 more Caused by: javax.xml.transform.TransformerException:
org.xml.sax.SAXParseException: Content is not allowed in prolog. at

org.apache.xalan.transformer.TransformerIdentityImpl.transform(Transfo
rmerIdentityImpl.java:501) at

com.sun.xml.messaging.saaj.util.transform.EfficientStreamingTransforme
r.transform(EfficientStreamingTransformer.java:390) at

com.sun.xml.messaging.saaj.soap.EnvelopeFactory.createEnvelope(Envelop
eFactory.java:102) ... 16 more
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog. at

com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Abs
tractSAXParser.java:1269) at
org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:333) at

org.apache.xalan.transformer.TransformerIdentityImpl.transform(Transfo
rmerIdentityImpl.java:484) ... 18 more

I assume this because it is trying to interpret gzip data
as XML. Do I
need to add an interceptor to do the decoding ?

Richard Shaw

¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø¤º°`°º¤
ø,¸¸,ø¤
Richard Shaw
Technical Design Authority - Information Solutions Consultancy Intelligent Transport Systems

Atkins Highways and Transportation
Woodcote Grove, Ashley Road, Epsom, Surrey, KT18 5BW

Tel: +44 (0) 1372 756407
Fax: +44 (0) 1372 740055
Mob: 07740 817586
E-mail: [EMAIL PROTECTED]

www.atkinsglobal.com/its



This email and any attached files are confidential and copyright protected. If you are not the addressee, any dissemination of this communication is strictly prohibited. Unless otherwise expressly agreed in writing, nothing stated in this communication shall be legally binding.

The ultimate parent company of the Atkins Group is WS Atkins plc. Registered in England No. 1885586. Registered Office
Woodcote Grove,
Ashley Road, Epsom, Surrey KT18 5BW.

Consider the environment. Please don't print this e-mail unless you really need to.


This message has been scanned for viruses by MailControl - (see
http://bluepages.wsatkins.co.uk/?6875772)

--
J. Daniel Kulp
Principal Engineer
IONA
P: 781-902-8727    C: 508-380-7194
[EMAIL PROTECTED]
http://www.dankulp.com/blog


----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland

Reply via email to