You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Daniel Kulp <dk...@apache.org> on 2008/02/01 03:57:16 UTC

Re: Different bevaviour in 2.0.4

Hmm...   That's really not good.   

Is there any chance you can get a wire trace of the test with both 2.0.3 
and 2.0.4?  Is it CXF on both sides of the wire?   There were some 
updates to the fault handling/mapping to make it honor the 
elementFormDefault flags of the schemas.   Thus, the fault messages 
don't match the schema, there could be problems.  

Dan

On Thursday 31 January 2008, Frederic Soulier wrote:
> Hi
>
> I've been using 2.0.3 with good success and I decided to upgrade to
> 2.0.4 this morning.
> I'm having problem running my tests which are failing now with:
>
>   Testcase: test5SoapRemoting
> (com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest)
>: Caused an ERROR
>      [junit] null while invoking public
> com.surgex.addresslookup.model.UKAddress[]
> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.lookupU
>K(
> com.surgex.commons.remoting.model.Credential,java.lang.String,java.uti
>l. Map,boolean) throws
> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex.co
>mm
> ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons.re
>mo ting.exceptions.UnauthorisedAccessException with params [null, null,
> null, null].
>      [junit] javax.xml.ws.soap.SOAPFaultException: null while
> invoking public com.surgex.addresslookup.model.UKAddress[]
> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.lookupU
>K(
> com.surgex.commons.remoting.model.Credential,java.lang.String,java.uti
>l. Map,boolean) throws
> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex.co
>mm
> ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons.re
>mo ting.exceptions.UnauthorisedAccessException with params [null, null,
> null, null].
>      [junit] 	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke
> (JaxWsClientProxy.java:175)
>      [junit] 	at $Proxy21.lookupUK(Unknown Source)
>      [junit] 	at
> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest.e
>xe cuteTests(AddressLookupServiceIntegrationTest.java:217)
>      [junit] 	at
> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest.t
>es t5SoapRemoting(AddressLookupServiceIntegrationTest.java:158)
>      [junit] 	at org.springframework.test.ConditionalTestCase.runBare
> (ConditionalTestCase.java:76)
>      [junit] Caused by: org.apache.cxf.binding.soap.SoapFault: null
> while invoking public com.surgex.addresslookup.model.UKAddress[]
> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.lookupU
>K(
> com.surgex.commons.remoting.model.Credential,java.lang.String,java.uti
>l. Map,boolean) throws
> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex.co
>mm
> ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons.re
>mo ting.exceptions.UnauthorisedAccessException with params [null, null,
> null, null].
>      [junit] 	at
> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handl
>eM essage(Soap11FaultInInterceptor.java:70)
>      [junit] 	at
> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handl
>eM essage(Soap11FaultInInterceptor.java:35)
>      [junit] 	at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
> (PhaseInterceptorChain.java:208)
>      [junit] 	at
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessa
>ge (AbstractFaultChainInitiatorObserver.java:96)
>      [junit] 	at
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleM
>es sage(ReadHeadersInterceptor.java:183)
>      [junit] 	at
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleM
>es sage(ReadHeadersInterceptor.java:56)
>      [junit] 	at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
> (PhaseInterceptorChain.java:208)
>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.onMessage
> (ClientImpl.java:429)
>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit
> $WrappedOutputStream.handleResponse(HTTPConduit.java:1955)
>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit
> $WrappedOutputStream.close(HTTPConduit.java:1791)
>      [junit] 	at org.apache.cxf.transport.AbstractConduit.close
> (AbstractConduit.java:66)
>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit.close
> (HTTPConduit.java:575)
>      [junit] 	at org.apache.cxf.interceptor.MessageSenderInterceptor
> $MessageSenderEndingInterceptor.handleMessage
> (MessageSenderInterceptor.java:62)
>      [junit] 	at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
> (PhaseInterceptorChain.java:208)
>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.invoke
> (ClientImpl.java:276)
>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.invoke
> (ClientImpl.java:222)
>      [junit] 	at org.apache.cxf.frontend.ClientProxy.invokeSync
> (ClientProxy.java:73)
>      [junit] 	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke
> (JaxWsClientProxy.java:135)
>      [junit] Test
> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest
> FAILED
>
>
> If I downgrade the CXF jar file back to 2.0.3 the tests run again.
>
> Any idea what I'm missing or what's triggering this behaviour?
>
> Thx a lot for any help.
>
> --
> This email is intended for the recipients only and should not be
> copied, forwarded or otherwise distributed to third parties without
> the consent of the original author.
>
> Frederic Soulier <fr...@cecuregaming.com>
> Senior Vice-President Casino
> Cecure Gaming Ltd. 23 Clayton Rd. Hayes. Middlesex. UB3 1AN. United
> Kingdom
> (Mob) +44(0)7967966490  (Tel) +44(0)2088171444  (Fax) +44(0)2088171240
> OpenPGP key available on http://www.keyserver.net
> 1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED
>
>
>
> ______________________________________________________________________
> This email is intended for the recipients only and should not be
> copied, forwarded or otherwise distributed to third parties without
> the consent of the original author. Cecure Gaming Ltd Registered
> address: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD.
> Company Number 4126153
> ______________________________________________________________________



-- 
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog

Re: Different bevaviour in 2.0.4

Posted by Frederic Soulier <fr...@cecuregaming.com>.
Hi Dan

A bit more info that can help.

I'm using Spring 2.5.1 and Aegis Data binding. CXF is on both side of  
the wire.

The Spring config I use to set up the client side is as follows:

<?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:jaxws="http://cxf.apache.org/jaxws"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/ 
beans/spring-beans-2.0.xsd
                            http://cxf.apache.org/jaxws
                            http://cxf.apache.org/schema/jaxws.xsd">

     <bean id="soapProxy"  
class="com.surgex.addresslookup.service.IAddressLookupService"  
factory-bean="clientFactory" factory-method="create"/>

	<bean id="clientFactory"  
class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
	  	<property name="serviceClass"  
value="com.surgex.addresslookup.service.IAddressLookupService"/>
	  	<property name="address" value=" http://192.168.10.60:9520/ 
remoting/soap/AddressLookupService"/>
		<property name="serviceFactory">
			<ref bean="jaxws-and-aegis-service-factory"/>
		</property>	
	</bean>
	
	<!-- Aegis is a fast StAX based data-binding that makes developing  
code first services -->
	<!-- as simply as possible. It is able to handle most classes and  
create intelligent   -->
	<!-- schemas for  
them.                                                                  
-->
	<!-- http://cwiki.apache.org/CXF20DOC/aegis- 
databinding.html                           -->
	<bean id="aegisBean"  
class="org.apache.cxf.aegis.databinding.AegisDatabinding"/>
	
	<bean id='jaxws-and-aegis-service-factory'  
class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
		<property name="dataBinding" ref="aegisBean"/>
		<property name="serviceConfigurations">
			<list>
				<bean  
class="org.apache.cxf.jaxws.support.JaxWsServiceConfiguration"/>
				<bean  
class="org.apache.cxf.aegis.databinding.AegisServiceConfiguration"/>
				<bean  
class="org.apache.cxf.service.factory.DefaultServiceConfiguration"/>
			</list>
		</property>
	</bean>
	
</beans>


What do you mean by "wire trace"?
Happy to provide more info though if I can get it.

Thx.

On 1 Feb 2008, at 02:57, Daniel Kulp wrote:

>
> Hmm...   That's really not good.
>
> Is there any chance you can get a wire trace of the test with both  
> 2.0.3
> and 2.0.4?  Is it CXF on both sides of the wire?   There were some
> updates to the fault handling/mapping to make it honor the
> elementFormDefault flags of the schemas.   Thus, the fault messages
> don't match the schema, there could be problems.
>
> Dan
>
> On Thursday 31 January 2008, Frederic Soulier wrote:
>> Hi
>>
>> I've been using 2.0.3 with good success and I decided to upgrade to
>> 2.0.4 this morning.
>> I'm having problem running my tests which are failing now with:
>>
>>   Testcase: test5SoapRemoting
>> (com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest 
>> )
>> : Caused an ERROR
>>      [junit] null while invoking public
>> com.surgex.addresslookup.model.UKAddress[]
>> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.lookup 
>> U
>> K(
>> com.surgex.commons.remoting.model.Credential,java.lang.String,java.ut 
>> i
>> l. Map,boolean) throws
>> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex.c 
>> o
>> mm
>> ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons.r 
>> e
>> mo ting.exceptions.UnauthorisedAccessException with params [null,  
>> null,
>> null, null].
>>      [junit] javax.xml.ws.soap.SOAPFaultException: null while
>> invoking public com.surgex.addresslookup.model.UKAddress[]
>> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.lookup 
>> U
>> K(
>> com.surgex.commons.remoting.model.Credential,java.lang.String,java.ut 
>> i
>> l. Map,boolean) throws
>> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex.c 
>> o
>> mm
>> ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons.r 
>> e
>> mo ting.exceptions.UnauthorisedAccessException with params [null,  
>> null,
>> null, null].
>>      [junit] 	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke
>> (JaxWsClientProxy.java:175)
>>      [junit] 	at $Proxy21.lookupUK(Unknown Source)
>>      [junit] 	at
>> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest. 
>> e
>> xe cuteTests(AddressLookupServiceIntegrationTest.java:217)
>>      [junit] 	at
>> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest. 
>> t
>> es t5SoapRemoting(AddressLookupServiceIntegrationTest.java:158)
>>      [junit] 	at org.springframework.test.ConditionalTestCase.runBare
>> (ConditionalTestCase.java:76)
>>      [junit] Caused by: org.apache.cxf.binding.soap.SoapFault: null
>> while invoking public com.surgex.addresslookup.model.UKAddress[]
>> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.lookup 
>> U
>> K(
>> com.surgex.commons.remoting.model.Credential,java.lang.String,java.ut 
>> i
>> l. Map,boolean) throws
>> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex.c 
>> o
>> mm
>> ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons.r 
>> e
>> mo ting.exceptions.UnauthorisedAccessException with params [null,  
>> null,
>> null, null].
>>      [junit] 	at
>> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.hand 
>> l
>> eM essage(Soap11FaultInInterceptor.java:70)
>>      [junit] 	at
>> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.hand 
>> l
>> eM essage(Soap11FaultInInterceptor.java:35)
>>      [junit] 	at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
>> (PhaseInterceptorChain.java:208)
>>      [junit] 	at
>> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMess 
>> a
>> ge (AbstractFaultChainInitiatorObserver.java:96)
>>      [junit] 	at
>> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handle 
>> M
>> es sage(ReadHeadersInterceptor.java:183)
>>      [junit] 	at
>> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handle 
>> M
>> es sage(ReadHeadersInterceptor.java:56)
>>      [junit] 	at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
>> (PhaseInterceptorChain.java:208)
>>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.onMessage
>> (ClientImpl.java:429)
>>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit
>> $WrappedOutputStream.handleResponse(HTTPConduit.java:1955)
>>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit
>> $WrappedOutputStream.close(HTTPConduit.java:1791)
>>      [junit] 	at org.apache.cxf.transport.AbstractConduit.close
>> (AbstractConduit.java:66)
>>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit.close
>> (HTTPConduit.java:575)
>>      [junit] 	at org.apache.cxf.interceptor.MessageSenderInterceptor
>> $MessageSenderEndingInterceptor.handleMessage
>> (MessageSenderInterceptor.java:62)
>>      [junit] 	at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
>> (PhaseInterceptorChain.java:208)
>>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.invoke
>> (ClientImpl.java:276)
>>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.invoke
>> (ClientImpl.java:222)
>>      [junit] 	at org.apache.cxf.frontend.ClientProxy.invokeSync
>> (ClientProxy.java:73)
>>      [junit] 	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke
>> (JaxWsClientProxy.java:135)
>>      [junit] Test
>> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest
>> FAILED
>>
>>
>> If I downgrade the CXF jar file back to 2.0.3 the tests run again.
>>
>> Any idea what I'm missing or what's triggering this behaviour?
>>
>> Thx a lot for any help.
>>
>> --
>> This email is intended for the recipients only and should not be
>> copied, forwarded or otherwise distributed to third parties without
>> the consent of the original author.
>>
>> Frederic Soulier <fr...@cecuregaming.com>
>> Senior Vice-President Casino
>> Cecure Gaming Ltd. 23 Clayton Rd. Hayes. Middlesex. UB3 1AN. United
>> Kingdom
>> (Mob) +44(0)7967966490  (Tel) +44(0)2088171444  (Fax) +44(0) 
>> 2088171240
>> OpenPGP key available on http://www.keyserver.net
>> 1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED
>>
>>
>>
>> _____________________________________________________________________ 
>> _
>> This email is intended for the recipients only and should not be
>> copied, forwarded or otherwise distributed to third parties without
>> the consent of the original author. Cecure Gaming Ltd Registered
>> address: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD.
>> Company Number 4126153
>> _____________________________________________________________________ 
>> _
>
>
>
> -- 
> J. Daniel Kulp
> Principal Engineer, IONA
> dkulp@apache.org
> http://www.dankulp.com/blog

--
This email is intended for the recipients only and should not be
copied, forwarded or otherwise distributed to third parties without the
consent of the original author.

Frederic Soulier <fr...@cecuregaming.com>
Senior Vice-President Casino
Cecure Gaming Ltd. 23 Clayton Rd. Hayes. Middlesex. UB3 1AN. United  
Kingdom
(Mob) +44(0)7967966490  (Tel) +44(0)2088171444  (Fax) +44(0)2088171240
OpenPGP key available on http://www.keyserver.net
1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED



______________________________________________________________________
This email is intended for the recipients only and should not be copied, forwarded or otherwise distributed to third parties without the consent of the original author.
Cecure Gaming Ltd Registered address: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD. Company Number 4126153
______________________________________________________________________

Re: Different bevaviour in 2.0.4

Posted by Daniel Kulp <dk...@apache.org>.
Well, JAXB doesn't support maps, which I assume is one of the reasons for 
using Aegis instead of JAXB.   

:-)

Dan

On Friday 01 February 2008, Frederic Soulier wrote:
> Ah maybe that's better info.
>
> Going back to the default bindings (commenting out the Aegis stuff) I
> get:
>
> Testcase: test5SoapRemoting
> (com.surgex.mafaddresslookup.service.AddressLookupServiceIntegrationTe
>st ):	Caused an ERROR
>      [junit] Marshalling Error: java.util.Map is not known to this
> context
>      [junit] javax.xml.ws.soap.SOAPFaultException: Marshalling Error:
> java.util.Map is not known to this context
>      [junit] 	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke
> (JaxWsClientProxy.java:175)
>      [junit] 	at $Proxy30.lookupUK(Unknown Source)
>      [junit] 	at
> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest.e
>xe cuteTests(AddressLookupServiceIntegrationTest.java:216)
>      [junit] 	at
> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest.t
>es t5SoapRemoting(AddressLookupServiceIntegrationTest.java:158)
>      [junit] 	at org.springframework.test.ConditionalTestCase.runBare
> (ConditionalTestCase.java:76)
>      [junit] Caused by: org.apache.cxf.interceptor.Fault: Marshalling
> Error: java.util.Map is not known to this context
>      [junit] 	at org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall
> (JAXBEncoderDecoder.java:207)
>      [junit] 	at org.apache.cxf.jaxb.io.DataWriterImpl.write
> (DataWriterImpl.java:63)
>      [junit] 	at
> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writePart
>s( AbstractOutDatabindingInterceptor.java:84)
>      [junit] 	at
> org.apache.cxf.interceptor.BareOutInterceptor.handleMessage
> (BareOutInterceptor.java:68)
>      [junit] 	at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
> (PhaseInterceptorChain.java:208)
>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.invoke
> (ClientImpl.java:276)
>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.invoke
> (ClientImpl.java:222)
>      [junit] 	at org.apache.cxf.frontend.ClientProxy.invokeSync
> (ClientProxy.java:73)
>      [junit] 	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke
> (JaxWsClientProxy.java:135)
>      [junit] Caused by: javax.xml.bind.MarshalException
>      [junit]  - with linked exception:
>      [junit] [javax.xml.bind.JAXBException: java.util.Map is not
> known to this context]
>      [junit] 	at com.sun.xml.bind.v2.runtime.MarshallerImpl.write
> (MarshallerImpl.java:295)
>      [junit] 	at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal
> (MarshallerImpl.java:221)
>      [junit] 	at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal
> (AbstractMarshallerImpl.java:70)
>      [junit] 	at org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject
> (JAXBEncoderDecoder.java:360)
>      [junit] 	at org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall
> (JAXBEncoderDecoder.java:187)
>      [junit] Caused by: javax.xml.bind.JAXBException: java.util.Map
> is not known to this context
>      [junit] 	at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError
> (XMLSerializer.java:223)
>      [junit] 	at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError
> (XMLSerializer.java:238)
>      [junit] 	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl
> $1.serializeBody(ElementBeanInfoImpl.java:85)
>      [junit] 	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl
> $1.serializeBody(ElementBeanInfoImpl.java:127)
>      [junit] 	at
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody
> (ElementBeanInfoImpl.java:244)
>      [junit] 	at
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot
> (ElementBeanInfoImpl.java:251)
>      [junit] 	at
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot
> (ElementBeanInfoImpl.java:33)
>      [junit] 	at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot
> (XMLSerializer.java:461)
>      [junit] 	at com.sun.xml.bind.v2.runtime.MarshallerImpl.write
> (MarshallerImpl.java:292)
>      [junit] Caused by: javax.xml.bind.JAXBException: java.util.Map
> is not known to this context
>      [junit] 	at
> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo
> (JAXBContextImpl.java:538)
>      [junit] 	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl
> $1.serializeBody(ElementBeanInfoImpl.java:82)
>      [junit] Test
> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest
> FAILED
>
> On 1 Feb 2008, at 11:25, Frederic Soulier wrote:
> > Hi Dan
> >
> > A bit more info that can help.
> >
> > I'm using Spring 2.5.1 and Aegis Data binding. CXF is on both side
> > of the wire.
> >
> > The Spring config I use to set up the client side is as follows:
> >
> > <?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:jaxws="http://cxf.apache.org/jaxws"
> >       
> > xsi:schemaLocation="http://www.springframework.org/schema/beans
> > http://www.springframework.org/schema/ beans/spring-beans-2.0.xsd
> >                            http://cxf.apache.org/jaxws
> >                            http://cxf.apache.org/schema/jaxws.xsd">
> >
> >     <bean id="soapProxy"
> > class="com.surgex.addresslookup.service.IAddressLookupService"
> > factory-bean="clientFactory" factory-method="create"/>
> >
> > 	<bean id="clientFactory"
> > class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
> > 	  	<property name="serviceClass"
> > value="com.surgex.addresslookup.service.IAddressLookupService"/>
> > 	  	<property name="address" value=" http://192.168.10.60:9520/
> > remoting/soap/AddressLookupService"/>
> > 		<property name="serviceFactory">
> > 			<ref bean="jaxws-and-aegis-service-factory"/>
> > 		</property>
> > 	</bean>
> >
> > 	<!-- Aegis is a fast StAX based data-binding that makes developing
> > code first services -->
> > 	<!-- as simply as possible. It is able to handle most classes and
> > create intelligent   -->
> > 	<!-- schemas for
> > them.
> > -->
> > 	<!-- http://cwiki.apache.org/CXF20DOC/aegis-
> > databinding.html                           -->
> > 	<bean id="aegisBean"
> > class="org.apache.cxf.aegis.databinding.AegisDatabinding"/>
> >
> > 	<bean id='jaxws-and-aegis-service-factory'
> > class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
> > 		<property name="dataBinding" ref="aegisBean"/>
> > 		<property name="serviceConfigurations">
> > 			<list>
> > 				<bean
> > class="org.apache.cxf.jaxws.support.JaxWsServiceConfiguration"/>
> > 				<bean
> > class="org.apache.cxf.aegis.databinding.AegisServiceConfiguration"/>
> > 				<bean
> > class="org.apache.cxf.service.factory.DefaultServiceConfiguration"/>
> > 			</list>
> > 		</property>
> > 	</bean>
> >
> > </beans>
> >
> >
> > What do you mean by "wire trace"?
> > Happy to provide more info though if I can get it.
> >
> > Thx.
> >
> > On 1 Feb 2008, at 02:57, Daniel Kulp wrote:
> >> Hmm...   That's really not good.
> >>
> >> Is there any chance you can get a wire trace of the test with both
> >> 2.0.3
> >> and 2.0.4?  Is it CXF on both sides of the wire?   There were some
> >> updates to the fault handling/mapping to make it honor the
> >> elementFormDefault flags of the schemas.   Thus, the fault messages
> >> don't match the schema, there could be problems.
> >>
> >> Dan
> >>
> >> On Thursday 31 January 2008, Frederic Soulier wrote:
> >>> Hi
> >>>
> >>> I've been using 2.0.3 with good success and I decided to upgrade
> >>> to 2.0.4 this morning.
> >>> I'm having problem running my tests which are failing now with:
> >>>
> >>>   Testcase: test5SoapRemoting
> >>> (com.surgex.addresslookup.service.AddressLookupServiceIntegrationT
> >>>es t)
> >>>
> >>> : Caused an ERROR
> >>>
> >>>      [junit] null while invoking public
> >>> com.surgex.addresslookup.model.UKAddress[]
> >>> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.loo
> >>>ku pU
> >>> K(
> >>> com.surgex.commons.remoting.model.Credential,java.lang.String,java
> >>>.u ti
> >>> l. Map,boolean) throws
> >>> com.surgex.commons.remoting.exceptions.RemotingException,com.surge
> >>>x. co
> >>> mm
> >>> ons.remoting.exceptions.InvalidArgumentException,com.surgex.common
> >>>s. re
> >>> mo ting.exceptions.UnauthorisedAccessException with params [null,
> >>> null,
> >>> null, null].
> >>>      [junit] javax.xml.ws.soap.SOAPFaultException: null while
> >>> invoking public com.surgex.addresslookup.model.UKAddress[]
> >>> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.loo
> >>>ku pU
> >>> K(
> >>> com.surgex.commons.remoting.model.Credential,java.lang.String,java
> >>>.u ti
> >>> l. Map,boolean) throws
> >>> com.surgex.commons.remoting.exceptions.RemotingException,com.surge
> >>>x. co
> >>> mm
> >>> ons.remoting.exceptions.InvalidArgumentException,com.surgex.common
> >>>s. re
> >>> mo ting.exceptions.UnauthorisedAccessException with params [null,
> >>> null,
> >>> null, null].
> >>>      [junit] 	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke
> >>> (JaxWsClientProxy.java:175)
> >>>      [junit] 	at $Proxy21.lookupUK(Unknown Source)
> >>>      [junit] 	at
> >>> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTe
> >>>st .e
> >>> xe cuteTests(AddressLookupServiceIntegrationTest.java:217)
> >>>      [junit] 	at
> >>> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTe
> >>>st .t
> >>> es t5SoapRemoting(AddressLookupServiceIntegrationTest.java:158)
> >>>      [junit] 	at
> >>> org.springframework.test.ConditionalTestCase.runBare
> >>> (ConditionalTestCase.java:76)
> >>>      [junit] Caused by: org.apache.cxf.binding.soap.SoapFault:
> >>> null while invoking public
> >>> com.surgex.addresslookup.model.UKAddress[]
> >>> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.loo
> >>>ku pU
> >>> K(
> >>> com.surgex.commons.remoting.model.Credential,java.lang.String,java
> >>>.u ti
> >>> l. Map,boolean) throws
> >>> com.surgex.commons.remoting.exceptions.RemotingException,com.surge
> >>>x. co
> >>> mm
> >>> ons.remoting.exceptions.InvalidArgumentException,com.surgex.common
> >>>s. re
> >>> mo ting.exceptions.UnauthorisedAccessException with params [null,
> >>> null,
> >>> null, null].
> >>>      [junit] 	at
> >>> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.h
> >>>an dl
> >>> eM essage(Soap11FaultInInterceptor.java:70)
> >>>      [junit] 	at
> >>> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.h
> >>>an dl
> >>> eM essage(Soap11FaultInInterceptor.java:35)
> >>>      [junit] 	at
> >>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
> >>> (PhaseInterceptorChain.java:208)
> >>>      [junit] 	at
> >>> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onM
> >>>es sa
> >>> ge (AbstractFaultChainInitiatorObserver.java:96)
> >>>      [junit] 	at
> >>> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.han
> >>>dl eM
> >>> es sage(ReadHeadersInterceptor.java:183)
> >>>      [junit] 	at
> >>> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.han
> >>>dl eM
> >>> es sage(ReadHeadersInterceptor.java:56)
> >>>      [junit] 	at
> >>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
> >>> (PhaseInterceptorChain.java:208)
> >>>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.onMessage
> >>> (ClientImpl.java:429)
> >>>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit
> >>> $WrappedOutputStream.handleResponse(HTTPConduit.java:1955)
> >>>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit
> >>> $WrappedOutputStream.close(HTTPConduit.java:1791)
> >>>      [junit] 	at org.apache.cxf.transport.AbstractConduit.close
> >>> (AbstractConduit.java:66)
> >>>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit.close
> >>> (HTTPConduit.java:575)
> >>>      [junit] 	at
> >>> org.apache.cxf.interceptor.MessageSenderInterceptor
> >>> $MessageSenderEndingInterceptor.handleMessage
> >>> (MessageSenderInterceptor.java:62)
> >>>      [junit] 	at
> >>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
> >>> (PhaseInterceptorChain.java:208)
> >>>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.invoke
> >>> (ClientImpl.java:276)
> >>>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.invoke
> >>> (ClientImpl.java:222)
> >>>      [junit] 	at org.apache.cxf.frontend.ClientProxy.invokeSync
> >>> (ClientProxy.java:73)
> >>>      [junit] 	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke
> >>> (JaxWsClientProxy.java:135)
> >>>      [junit] Test
> >>> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTe
> >>>st FAILED
> >>>
> >>>
> >>> If I downgrade the CXF jar file back to 2.0.3 the tests run again.
> >>>
> >>> Any idea what I'm missing or what's triggering this behaviour?
> >>>
> >>> Thx a lot for any help.
> >>>
> >>> --
> >>> This email is intended for the recipients only and should not be
> >>> copied, forwarded or otherwise distributed to third parties
> >>> without the consent of the original author.
> >>>
> >>> Frederic Soulier <fr...@cecuregaming.com>
> >>> Senior Vice-President Casino
> >>> Cecure Gaming Ltd. 23 Clayton Rd. Hayes. Middlesex. UB3 1AN.
> >>> United Kingdom
> >>> (Mob) +44(0)7967966490  (Tel) +44(0)2088171444  (Fax) +44(0)
> >>> 2088171240
> >>> OpenPGP key available on http://www.keyserver.net
> >>> 1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67
> >>> 00ED
> >>>
> >>>
> >>>
> >>> __________________________________________________________________
> >>>__ __
> >>> This email is intended for the recipients only and should not be
> >>> copied, forwarded or otherwise distributed to third parties
> >>> without the consent of the original author. Cecure Gaming Ltd
> >>> Registered address: Thames House, Portsmouth Road, Esher, Surrey,
> >>> KT10 9AD. Company Number 4126153
> >>> __________________________________________________________________
> >>>__ __
> >>
> >> --
> >> J. Daniel Kulp
> >> Principal Engineer, IONA
> >> dkulp@apache.org
> >> http://www.dankulp.com/blog
> >
> > --
> > Frederic P. Soulier
> > OpenPGP key available on http://pgpkeys.mit.edu/
> > 1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED
>
> --
> Frederic P. Soulier
> OpenPGP key available on http://pgpkeys.mit.edu/
> 1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED



-- 
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog

Re: Different bevaviour in 2.0.4

Posted by Frederic Soulier <fr...@wallaby.uklinux.net>.
Ah maybe that's better info.

Going back to the default bindings (commenting out the Aegis stuff) I  
get:

Testcase: test5SoapRemoting 
(com.surgex.mafaddresslookup.service.AddressLookupServiceIntegrationTest 
):	Caused an ERROR
     [junit] Marshalling Error: java.util.Map is not known to this  
context
     [junit] javax.xml.ws.soap.SOAPFaultException: Marshalling Error:  
java.util.Map is not known to this context
     [junit] 	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke 
(JaxWsClientProxy.java:175)
     [junit] 	at $Proxy30.lookupUK(Unknown Source)
     [junit] 	at  
com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest.exe 
cuteTests(AddressLookupServiceIntegrationTest.java:216)
     [junit] 	at  
com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest.tes 
t5SoapRemoting(AddressLookupServiceIntegrationTest.java:158)
     [junit] 	at org.springframework.test.ConditionalTestCase.runBare 
(ConditionalTestCase.java:76)
     [junit] Caused by: org.apache.cxf.interceptor.Fault: Marshalling  
Error: java.util.Map is not known to this context
     [junit] 	at org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall 
(JAXBEncoderDecoder.java:207)
     [junit] 	at org.apache.cxf.jaxb.io.DataWriterImpl.write 
(DataWriterImpl.java:63)
     [junit] 	at  
org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts( 
AbstractOutDatabindingInterceptor.java:84)
     [junit] 	at  
org.apache.cxf.interceptor.BareOutInterceptor.handleMessage 
(BareOutInterceptor.java:68)
     [junit] 	at  
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept 
(PhaseInterceptorChain.java:208)
     [junit] 	at org.apache.cxf.endpoint.ClientImpl.invoke 
(ClientImpl.java:276)
     [junit] 	at org.apache.cxf.endpoint.ClientImpl.invoke 
(ClientImpl.java:222)
     [junit] 	at org.apache.cxf.frontend.ClientProxy.invokeSync 
(ClientProxy.java:73)
     [junit] 	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke 
(JaxWsClientProxy.java:135)
     [junit] Caused by: javax.xml.bind.MarshalException
     [junit]  - with linked exception:
     [junit] [javax.xml.bind.JAXBException: java.util.Map is not  
known to this context]
     [junit] 	at com.sun.xml.bind.v2.runtime.MarshallerImpl.write 
(MarshallerImpl.java:295)
     [junit] 	at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal 
(MarshallerImpl.java:221)
     [junit] 	at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal 
(AbstractMarshallerImpl.java:70)
     [junit] 	at org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject 
(JAXBEncoderDecoder.java:360)
     [junit] 	at org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall 
(JAXBEncoderDecoder.java:187)
     [junit] Caused by: javax.xml.bind.JAXBException: java.util.Map  
is not known to this context
     [junit] 	at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError 
(XMLSerializer.java:223)
     [junit] 	at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError 
(XMLSerializer.java:238)
     [junit] 	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl 
$1.serializeBody(ElementBeanInfoImpl.java:85)
     [junit] 	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl 
$1.serializeBody(ElementBeanInfoImpl.java:127)
     [junit] 	at  
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody 
(ElementBeanInfoImpl.java:244)
     [junit] 	at  
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot 
(ElementBeanInfoImpl.java:251)
     [junit] 	at  
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot 
(ElementBeanInfoImpl.java:33)
     [junit] 	at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot 
(XMLSerializer.java:461)
     [junit] 	at com.sun.xml.bind.v2.runtime.MarshallerImpl.write 
(MarshallerImpl.java:292)
     [junit] Caused by: javax.xml.bind.JAXBException: java.util.Map  
is not known to this context
     [junit] 	at  
com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo 
(JAXBContextImpl.java:538)
     [junit] 	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl 
$1.serializeBody(ElementBeanInfoImpl.java:82)
     [junit] Test  
com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest  
FAILED

On 1 Feb 2008, at 11:25, Frederic Soulier wrote:

> Hi Dan
>
> A bit more info that can help.
>
> I'm using Spring 2.5.1 and Aegis Data binding. CXF is on both side  
> of the wire.
>
> The Spring config I use to set up the client side is as follows:
>
> <?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:jaxws="http://cxf.apache.org/jaxws"
>        xsi:schemaLocation="http://www.springframework.org/schema/beans
>                            http://www.springframework.org/schema/ 
> beans/spring-beans-2.0.xsd
>                            http://cxf.apache.org/jaxws
>                            http://cxf.apache.org/schema/jaxws.xsd">
>
>     <bean id="soapProxy"  
> class="com.surgex.addresslookup.service.IAddressLookupService"  
> factory-bean="clientFactory" factory-method="create"/>
>
> 	<bean id="clientFactory"  
> class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
> 	  	<property name="serviceClass"  
> value="com.surgex.addresslookup.service.IAddressLookupService"/>
> 	  	<property name="address" value=" http://192.168.10.60:9520/ 
> remoting/soap/AddressLookupService"/>
> 		<property name="serviceFactory">
> 			<ref bean="jaxws-and-aegis-service-factory"/>
> 		</property>	
> 	</bean>
> 	
> 	<!-- Aegis is a fast StAX based data-binding that makes developing  
> code first services -->
> 	<!-- as simply as possible. It is able to handle most classes and  
> create intelligent   -->
> 	<!-- schemas for  
> them.                                                                  
> -->
> 	<!-- http://cwiki.apache.org/CXF20DOC/aegis- 
> databinding.html                           -->
> 	<bean id="aegisBean"  
> class="org.apache.cxf.aegis.databinding.AegisDatabinding"/>
> 	
> 	<bean id='jaxws-and-aegis-service-factory'  
> class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
> 		<property name="dataBinding" ref="aegisBean"/>
> 		<property name="serviceConfigurations">
> 			<list>
> 				<bean  
> class="org.apache.cxf.jaxws.support.JaxWsServiceConfiguration"/>
> 				<bean  
> class="org.apache.cxf.aegis.databinding.AegisServiceConfiguration"/>
> 				<bean  
> class="org.apache.cxf.service.factory.DefaultServiceConfiguration"/>
> 			</list>
> 		</property>
> 	</bean>
> 	
> </beans>
>
>
> What do you mean by "wire trace"?
> Happy to provide more info though if I can get it.
>
> Thx.
>
>
> On 1 Feb 2008, at 02:57, Daniel Kulp wrote:
>
>>
>> Hmm...   That's really not good.
>>
>> Is there any chance you can get a wire trace of the test with both  
>> 2.0.3
>> and 2.0.4?  Is it CXF on both sides of the wire?   There were some
>> updates to the fault handling/mapping to make it honor the
>> elementFormDefault flags of the schemas.   Thus, the fault messages
>> don't match the schema, there could be problems.
>>
>> Dan
>>
>> On Thursday 31 January 2008, Frederic Soulier wrote:
>>> Hi
>>>
>>> I've been using 2.0.3 with good success and I decided to upgrade to
>>> 2.0.4 this morning.
>>> I'm having problem running my tests which are failing now with:
>>>
>>>   Testcase: test5SoapRemoting
>>> (com.surgex.addresslookup.service.AddressLookupServiceIntegrationTes 
>>> t)
>>> : Caused an ERROR
>>>      [junit] null while invoking public
>>> com.surgex.addresslookup.model.UKAddress[]
>>> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.looku 
>>> pU
>>> K(
>>> com.surgex.commons.remoting.model.Credential,java.lang.String,java.u 
>>> ti
>>> l. Map,boolean) throws
>>> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex. 
>>> co
>>> mm
>>> ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons. 
>>> re
>>> mo ting.exceptions.UnauthorisedAccessException with params [null,  
>>> null,
>>> null, null].
>>>      [junit] javax.xml.ws.soap.SOAPFaultException: null while
>>> invoking public com.surgex.addresslookup.model.UKAddress[]
>>> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.looku 
>>> pU
>>> K(
>>> com.surgex.commons.remoting.model.Credential,java.lang.String,java.u 
>>> ti
>>> l. Map,boolean) throws
>>> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex. 
>>> co
>>> mm
>>> ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons. 
>>> re
>>> mo ting.exceptions.UnauthorisedAccessException with params [null,  
>>> null,
>>> null, null].
>>>      [junit] 	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke
>>> (JaxWsClientProxy.java:175)
>>>      [junit] 	at $Proxy21.lookupUK(Unknown Source)
>>>      [junit] 	at
>>> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest 
>>> .e
>>> xe cuteTests(AddressLookupServiceIntegrationTest.java:217)
>>>      [junit] 	at
>>> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest 
>>> .t
>>> es t5SoapRemoting(AddressLookupServiceIntegrationTest.java:158)
>>>      [junit] 	at  
>>> org.springframework.test.ConditionalTestCase.runBare
>>> (ConditionalTestCase.java:76)
>>>      [junit] Caused by: org.apache.cxf.binding.soap.SoapFault: null
>>> while invoking public com.surgex.addresslookup.model.UKAddress[]
>>> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.looku 
>>> pU
>>> K(
>>> com.surgex.commons.remoting.model.Credential,java.lang.String,java.u 
>>> ti
>>> l. Map,boolean) throws
>>> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex. 
>>> co
>>> mm
>>> ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons. 
>>> re
>>> mo ting.exceptions.UnauthorisedAccessException with params [null,  
>>> null,
>>> null, null].
>>>      [junit] 	at
>>> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.han 
>>> dl
>>> eM essage(Soap11FaultInInterceptor.java:70)
>>>      [junit] 	at
>>> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.han 
>>> dl
>>> eM essage(Soap11FaultInInterceptor.java:35)
>>>      [junit] 	at
>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
>>> (PhaseInterceptorChain.java:208)
>>>      [junit] 	at
>>> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMes 
>>> sa
>>> ge (AbstractFaultChainInitiatorObserver.java:96)
>>>      [junit] 	at
>>> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handl 
>>> eM
>>> es sage(ReadHeadersInterceptor.java:183)
>>>      [junit] 	at
>>> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handl 
>>> eM
>>> es sage(ReadHeadersInterceptor.java:56)
>>>      [junit] 	at
>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
>>> (PhaseInterceptorChain.java:208)
>>>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.onMessage
>>> (ClientImpl.java:429)
>>>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit
>>> $WrappedOutputStream.handleResponse(HTTPConduit.java:1955)
>>>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit
>>> $WrappedOutputStream.close(HTTPConduit.java:1791)
>>>      [junit] 	at org.apache.cxf.transport.AbstractConduit.close
>>> (AbstractConduit.java:66)
>>>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit.close
>>> (HTTPConduit.java:575)
>>>      [junit] 	at org.apache.cxf.interceptor.MessageSenderInterceptor
>>> $MessageSenderEndingInterceptor.handleMessage
>>> (MessageSenderInterceptor.java:62)
>>>      [junit] 	at
>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
>>> (PhaseInterceptorChain.java:208)
>>>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.invoke
>>> (ClientImpl.java:276)
>>>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.invoke
>>> (ClientImpl.java:222)
>>>      [junit] 	at org.apache.cxf.frontend.ClientProxy.invokeSync
>>> (ClientProxy.java:73)
>>>      [junit] 	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke
>>> (JaxWsClientProxy.java:135)
>>>      [junit] Test
>>> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest
>>> FAILED
>>>
>>>
>>> If I downgrade the CXF jar file back to 2.0.3 the tests run again.
>>>
>>> Any idea what I'm missing or what's triggering this behaviour?
>>>
>>> Thx a lot for any help.
>>>
>>> --
>>> This email is intended for the recipients only and should not be
>>> copied, forwarded or otherwise distributed to third parties without
>>> the consent of the original author.
>>>
>>> Frederic Soulier <fr...@cecuregaming.com>
>>> Senior Vice-President Casino
>>> Cecure Gaming Ltd. 23 Clayton Rd. Hayes. Middlesex. UB3 1AN. United
>>> Kingdom
>>> (Mob) +44(0)7967966490  (Tel) +44(0)2088171444  (Fax) +44(0) 
>>> 2088171240
>>> OpenPGP key available on http://www.keyserver.net
>>> 1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED
>>>
>>>
>>>
>>> ____________________________________________________________________ 
>>> __
>>> This email is intended for the recipients only and should not be
>>> copied, forwarded or otherwise distributed to third parties without
>>> the consent of the original author. Cecure Gaming Ltd Registered
>>> address: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD.
>>> Company Number 4126153
>>> ____________________________________________________________________ 
>>> __
>>
>>
>>
>> -- 
>> J. Daniel Kulp
>> Principal Engineer, IONA
>> dkulp@apache.org
>> http://www.dankulp.com/blog
>
> --
> Frederic P. Soulier
> OpenPGP key available on http://pgpkeys.mit.edu/
> 1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED

--
Frederic P. Soulier
OpenPGP key available on http://pgpkeys.mit.edu/
1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED


Re: Different bevaviour in 2.0.4

Posted by Frederic Soulier <fr...@wallaby.uklinux.net>.
Thx Dan

package-info.java file with:

@javax.xml.bind.annotation.XmlSchema(
         namespace="http://addresslookup.surgex.com",
         
elementFormDefault=javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.surgex.addresslookup;

fixes it for sure :)

Obviously, understanding what might be the problem would have shown  
that there was similar a jira issue: (CXF-1226) Missing input/output  
param namespace in SOAP :(

Is the necesssity of having a package-info.java will be removed in  
2.0.4+ ?

Thx a bunch.


On 6 Feb 2008, at 16:07, Daniel Kulp wrote:

>
>
> Ah!
>
> Now we're getting someplace.   Can you look at the <schema> lines  
> in the
> wsdl (there probably are two or more of them) and tell me if they say
> elementFormDefault="qualified" or elementFormDefault="unqualified"  
> along
> with the targetNamespace for each.
>
> My gut feeling says the one for targetnamspace:
> http://addresslookup.surgex.com
> is set to unqualified.  If it is, the incoming message is wrong.   The
> DEFAULT for JAX-WS is that the wrapper schema types should be
> unqualified.   Thus the accessor elements (credential, postcode,  
> etc...)
> from the WebParam annotations would be unqualified on the wire.
>
> If that's the case, you can probably change it in 2.0.4 by adding a
> package-info.java file next to the IAddressLookupService.java that  
> looks
> something like:
>
> @javax.xml.bind.annotation.XmlSchema(
>         namespace="http://addresslookup.surgex.com",
>         
> elementFormDefault=javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
> package com.surgex.addresslookup;
>
>
> 2.0.4 should actually look in the package-info to grab that.   It's  
> also
> configurable via spring config, but the package-info is probably  
> easier.
>
> Dan
>
>
>
> On Wednesday 06 February 2008, Frederic Soulier wrote:
>> Hi Dan
>>
>> Thx for this info.
>>
>> On 5 Feb 2008, at 20:48, Daniel Kulp wrote:
>>> Hmm...  the incoming messages definitely are the same.   That
>>> shouldn't
>>> be an issue.
>>>
>>> Next question: if you do a "?wsdl" on the endpoint, are the wsdl's
>>> EXACTLY the same?
>>
>> http://192.168.10.61:9520/remoting/soap/AddressLookupService?wsdl
>> shows the same thing for 2.0.3 and 2.0.4
>>
>> http://192.168.10.61:9520/remoting/soap/AddressLookupService?
>> wsdl=AddressLookupService.wsdl
>> is slightly different.
>>
>> output of: diff cxf-203-wsdl.txt cxf-204-wsdl.txt
>>
>> < <import xmlns="http://www.w3.org/2001/XMLSchema" namespace="http://
>> impl.service.addresslookup.surgex.com/"/>
>> ---
>>
>>>     <xsd:import namespace="http://
>>
>> impl.service.addresslookup.surgex.com/"/>
>> 88,92d87
>> <     <xsd:complexType name="ArrayOfAddress">
>> <         <xsd:sequence>
>> <             <xsd:element maxOccurs="unbounded" minOccurs="0"
>> name="Address" nillable="true" type="tns:Address"/>
>> <         </xsd:sequence>
>> <     </xsd:complexType>
>> 94d88
>> <
>> 99c93,94
>> <     <xsd:complexType abstract="true" name="Address">
>> ---
>>
>>>     <xsd:complexType name="ArrayOfAddress">
>>
>> 101,102c96
>> <             <xsd:element minOccurs="0" name="country"
>> nillable="true" type="xsd:string"/>
>> <             <xsd:element minOccurs="0" name="matchingAttributes"
>> type="xsd:int"/>
>> ---
>>
>>>             <xsd:element maxOccurs="unbounded" minOccurs="0"
>>
>> name="Address" nillable="true" type="tns:Address"/>
>> 104d97
>> <
>> 110a104
>>
>> 114d107
>> <
>> 120a114
>>
>> 123a118,123
>>
>>>     <xsd:complexType abstract="true" name="Address">
>>>         <xsd:sequence>
>>>             <xsd:element minOccurs="0" name="country"
>>
>> nillable="true" type="xsd:string"/>
>>
>>>             <xsd:element minOccurs="0" name="matchingAttributes"
>>
>> type="xsd:int"/>
>>
>>>         </xsd:sequence>
>>>     </xsd:complexType>
>>
>> 148c148,150
>> < <import xmlns="http://www.w3.org/2001/XMLSchema" namespace="http://
>> impl.service.addresslookup.surgex.com/"/>
>> ---
>>
>>>     <xsd:import namespace="http://
>>
>> model.remoting.commons.surgex.com"/>
>>
>>>     <xsd:import namespace="http://
>>
>> impl.service.addresslookup.surgex.com/"/>
>>
>>>     <xsd:import namespace="http://model.addresslookup.surgex.com"/>
>>>
>>>   Also, is this doc/lit bare or wrapped?   Code
>>> first/wsdl first? (it looks wrapped, but want to verify the rest)
>>
>> Interface (IAddressLookupService):
>> @WebService(name = "AddressLookupService")
>> @SOAPBinding(style = Style.DOCUMENT, use = Use.LITERAL,
>> parameterStyle = ParameterStyle.WRAPPED)
>>
>> public UKAddress [] lookupUK(@WebParam(name = "credential", mode =
>> Mode.IN, header = false) Credential credential,
>>                               @WebParam(name = "postcode", mode =
>> Mode.IN, header = false) String postcode,
>>                               @WebParam(name = "otherInfo", mode =
>> Mode.IN, header = false) Map<String, String> otherInfo,
>>                               @WebParam(name = "multipleResults",
>> mode = Mode.IN, header = false) boolean multipleResults)
>>              throws RemotingException, InvalidArgumentException,
>> UnauthorisedAccessException;
>>
>> Implementation (AddressLookupServiceImpl):
>> @WebService(endpointInterface =
>> "com.surgex.addresslookup.service.IAddressLookupService")
>>
>> No annotations in model objects. Default Aegis processing.
>>
>>> I WOULD expect this behavior if the WSDL or runtime thinks the
>>> parts are
>>> supposed to be unqualified.   Basically, it's walking through
>>> elements and trying to match them up with the parts from the service
>>> model. However, the call to rname.equals(part.getConcreteName()) is
>>> never returning true so it's not finding the appropriate part.
>>>
>>> What you MAY want to try looking at if you have this in the
>>> debugger is
>>> to see what rname is and what part.getConcreteName() is.    If
>>> getConcreteName() doesn't have a URL, it definitely thinks it
>>> should be
>>> unqualified and it may be a bug in how the servicemodel is setup.
>>
>> rname = {http://addresslookup.surgex.com}credential
>>
>> trying to match:
>> part.getConcreteName() = credential
>> part.getConcreteName() = postcode
>> part.getConcreteName() = otherInfo
>> part.getConcreteName() = multipleResults
>>
>> Obviously doesn't match... and params array ends up containing
>> null,null,null,null
>>
>>
>> --
>> Frederic P. Soulier
>> OpenPGP key available on http://pgpkeys.mit.edu/
>> 1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED
>
>
>
> -- 
> J. Daniel Kulp
> Principal Engineer, IONA
> dkulp@apache.org
> http://www.dankulp.com/blog

--
Frederic P. Soulier
OpenPGP key available on http://pgpkeys.mit.edu/
1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED


Re: Different bevaviour in 2.0.4

Posted by Daniel Kulp <dk...@apache.org>.

Ah!  

Now we're getting someplace.   Can you look at the <schema> lines in the 
wsdl (there probably are two or more of them) and tell me if they say 
elementFormDefault="qualified" or elementFormDefault="unqualified" along 
with the targetNamespace for each.

My gut feeling says the one for targetnamspace:
http://addresslookup.surgex.com
is set to unqualified.  If it is, the incoming message is wrong.   The 
DEFAULT for JAX-WS is that the wrapper schema types should be 
unqualified.   Thus the accessor elements (credential, postcode, etc...) 
from the WebParam annotations would be unqualified on the wire.  

If that's the case, you can probably change it in 2.0.4 by adding a 
package-info.java file next to the IAddressLookupService.java that looks 
something like:

@javax.xml.bind.annotation.XmlSchema(
        namespace="http://addresslookup.surgex.com",
       elementFormDefault=javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.surgex.addresslookup;


2.0.4 should actually look in the package-info to grab that.   It's also 
configurable via spring config, but the package-info is probably easier.

Dan



On Wednesday 06 February 2008, Frederic Soulier wrote:
> Hi Dan
>
> Thx for this info.
>
> On 5 Feb 2008, at 20:48, Daniel Kulp wrote:
> > Hmm...  the incoming messages definitely are the same.   That
> > shouldn't
> > be an issue.
> >
> > Next question: if you do a "?wsdl" on the endpoint, are the wsdl's
> > EXACTLY the same?
>
> http://192.168.10.61:9520/remoting/soap/AddressLookupService?wsdl
> shows the same thing for 2.0.3 and 2.0.4
>
> http://192.168.10.61:9520/remoting/soap/AddressLookupService?
> wsdl=AddressLookupService.wsdl
> is slightly different.
>
> output of: diff cxf-203-wsdl.txt cxf-204-wsdl.txt
>
> < <import xmlns="http://www.w3.org/2001/XMLSchema" namespace="http://
> impl.service.addresslookup.surgex.com/"/>
> ---
>
>  >     <xsd:import namespace="http://
>
> impl.service.addresslookup.surgex.com/"/>
> 88,92d87
> <     <xsd:complexType name="ArrayOfAddress">
> <         <xsd:sequence>
> <             <xsd:element maxOccurs="unbounded" minOccurs="0"
> name="Address" nillable="true" type="tns:Address"/>
> <         </xsd:sequence>
> <     </xsd:complexType>
> 94d88
> <
> 99c93,94
> <     <xsd:complexType abstract="true" name="Address">
> ---
>
>  >     <xsd:complexType name="ArrayOfAddress">
>
> 101,102c96
> <             <xsd:element minOccurs="0" name="country"
> nillable="true" type="xsd:string"/>
> <             <xsd:element minOccurs="0" name="matchingAttributes"
> type="xsd:int"/>
> ---
>
>  >             <xsd:element maxOccurs="unbounded" minOccurs="0"
>
> name="Address" nillable="true" type="tns:Address"/>
> 104d97
> <
> 110a104
>
> 114d107
> <
> 120a114
>
> 123a118,123
>
>  >     <xsd:complexType abstract="true" name="Address">
>  >         <xsd:sequence>
>  >             <xsd:element minOccurs="0" name="country"
>
> nillable="true" type="xsd:string"/>
>
>  >             <xsd:element minOccurs="0" name="matchingAttributes"
>
> type="xsd:int"/>
>
>  >         </xsd:sequence>
>  >     </xsd:complexType>
>
> 148c148,150
> < <import xmlns="http://www.w3.org/2001/XMLSchema" namespace="http://
> impl.service.addresslookup.surgex.com/"/>
> ---
>
>  >     <xsd:import namespace="http://
>
> model.remoting.commons.surgex.com"/>
>
>  >     <xsd:import namespace="http://
>
> impl.service.addresslookup.surgex.com/"/>
>
>  >     <xsd:import namespace="http://model.addresslookup.surgex.com"/>
> >
> >   Also, is this doc/lit bare or wrapped?   Code
> > first/wsdl first? (it looks wrapped, but want to verify the rest)
>
> Interface (IAddressLookupService):
> @WebService(name = "AddressLookupService")
> @SOAPBinding(style = Style.DOCUMENT, use = Use.LITERAL,
> parameterStyle = ParameterStyle.WRAPPED)
>
> public UKAddress [] lookupUK(@WebParam(name = "credential", mode =
> Mode.IN, header = false) Credential credential,
>                               @WebParam(name = "postcode", mode =
> Mode.IN, header = false) String postcode,
>                               @WebParam(name = "otherInfo", mode =
> Mode.IN, header = false) Map<String, String> otherInfo,
>                               @WebParam(name = "multipleResults",
> mode = Mode.IN, header = false) boolean multipleResults)
>              throws RemotingException, InvalidArgumentException,
> UnauthorisedAccessException;
>
> Implementation (AddressLookupServiceImpl):
> @WebService(endpointInterface =
> "com.surgex.addresslookup.service.IAddressLookupService")
>
> No annotations in model objects. Default Aegis processing.
>
> > I WOULD expect this behavior if the WSDL or runtime thinks the
> > parts are
> > supposed to be unqualified.   Basically, it's walking through
> > elements and trying to match them up with the parts from the service
> > model. However, the call to rname.equals(part.getConcreteName()) is
> > never returning true so it's not finding the appropriate part.
> >
> > What you MAY want to try looking at if you have this in the
> > debugger is
> > to see what rname is and what part.getConcreteName() is.    If
> > getConcreteName() doesn't have a URL, it definitely thinks it
> > should be
> > unqualified and it may be a bug in how the servicemodel is setup.
>
> rname = {http://addresslookup.surgex.com}credential
>
> trying to match:
> part.getConcreteName() = credential
> part.getConcreteName() = postcode
> part.getConcreteName() = otherInfo
> part.getConcreteName() = multipleResults
>
> Obviously doesn't match... and params array ends up containing
> null,null,null,null
>
>
> --
> Frederic P. Soulier
> OpenPGP key available on http://pgpkeys.mit.edu/
> 1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED



-- 
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog

Re: Different bevaviour in 2.0.4

Posted by Frederic Soulier <fr...@wallaby.uklinux.net>.
Hi Dan

Thx for this info.


On 5 Feb 2008, at 20:48, Daniel Kulp wrote:

>
> Hmm...  the incoming messages definitely are the same.   That  
> shouldn't
> be an issue.
>
> Next question: if you do a "?wsdl" on the endpoint, are the wsdl's
> EXACTLY the same?

http://192.168.10.61:9520/remoting/soap/AddressLookupService?wsdl
shows the same thing for 2.0.3 and 2.0.4

http://192.168.10.61:9520/remoting/soap/AddressLookupService? 
wsdl=AddressLookupService.wsdl
is slightly different.

output of: diff cxf-203-wsdl.txt cxf-204-wsdl.txt

< <import xmlns="http://www.w3.org/2001/XMLSchema" namespace="http:// 
impl.service.addresslookup.surgex.com/"/>
---
 >     <xsd:import namespace="http:// 
impl.service.addresslookup.surgex.com/"/>
88,92d87
<     <xsd:complexType name="ArrayOfAddress">
<         <xsd:sequence>
<             <xsd:element maxOccurs="unbounded" minOccurs="0"  
name="Address" nillable="true" type="tns:Address"/>
<         </xsd:sequence>
<     </xsd:complexType>
94d88
<
99c93,94
<     <xsd:complexType abstract="true" name="Address">
---
 >     <xsd:complexType name="ArrayOfAddress">
 >
101,102c96
<             <xsd:element minOccurs="0" name="country"  
nillable="true" type="xsd:string"/>
<             <xsd:element minOccurs="0" name="matchingAttributes"  
type="xsd:int"/>
---
 >             <xsd:element maxOccurs="unbounded" minOccurs="0"  
name="Address" nillable="true" type="tns:Address"/>
104d97
<
110a104
 >
114d107
<
120a114
 >
123a118,123
 >     <xsd:complexType abstract="true" name="Address">
 >         <xsd:sequence>
 >             <xsd:element minOccurs="0" name="country"  
nillable="true" type="xsd:string"/>
 >             <xsd:element minOccurs="0" name="matchingAttributes"  
type="xsd:int"/>
 >         </xsd:sequence>
 >     </xsd:complexType>
148c148,150
< <import xmlns="http://www.w3.org/2001/XMLSchema" namespace="http:// 
impl.service.addresslookup.surgex.com/"/>
---
 >     <xsd:import namespace="http:// 
model.remoting.commons.surgex.com"/>
 >     <xsd:import namespace="http:// 
impl.service.addresslookup.surgex.com/"/>
 >     <xsd:import namespace="http://model.addresslookup.surgex.com"/>



>   Also, is this doc/lit bare or wrapped?   Code
> first/wsdl first? (it looks wrapped, but want to verify the rest)

Interface (IAddressLookupService):
@WebService(name = "AddressLookupService")
@SOAPBinding(style = Style.DOCUMENT, use = Use.LITERAL,  
parameterStyle = ParameterStyle.WRAPPED)

public UKAddress [] lookupUK(@WebParam(name = "credential", mode =  
Mode.IN, header = false) Credential credential,
                              @WebParam(name = "postcode", mode =  
Mode.IN, header = false) String postcode,
                              @WebParam(name = "otherInfo", mode =  
Mode.IN, header = false) Map<String, String> otherInfo,
                              @WebParam(name = "multipleResults",  
mode = Mode.IN, header = false) boolean multipleResults)
             throws RemotingException, InvalidArgumentException,  
UnauthorisedAccessException;

Implementation (AddressLookupServiceImpl):
@WebService(endpointInterface =  
"com.surgex.addresslookup.service.IAddressLookupService")

No annotations in model objects. Default Aegis processing.



> I WOULD expect this behavior if the WSDL or runtime thinks the  
> parts are
> supposed to be unqualified.   Basically, it's walking through elements
> and trying to match them up with the parts from the service model.
> However, the call to rname.equals(part.getConcreteName()) is never
> returning true so it's not finding the appropriate part.
>
> What you MAY want to try looking at if you have this in the  
> debugger is
> to see what rname is and what part.getConcreteName() is.    If
> getConcreteName() doesn't have a URL, it definitely thinks it  
> should be
> unqualified and it may be a bug in how the servicemodel is setup.

rname = {http://addresslookup.surgex.com}credential

trying to match:
part.getConcreteName() = credential
part.getConcreteName() = postcode
part.getConcreteName() = otherInfo
part.getConcreteName() = multipleResults

Obviously doesn't match... and params array ends up containing  
null,null,null,null


--
Frederic P. Soulier
OpenPGP key available on http://pgpkeys.mit.edu/
1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED


Re: Different bevaviour in 2.0.4

Posted by Daniel Kulp <dk...@apache.org>.
Hmm...  the incoming messages definitely are the same.   That shouldn't 
be an issue.

Next question: if you do a "?wsdl" on the endpoint, are the wsdl's 
EXACTLY the same?   Also, is this doc/lit bare or wrapped?   Code 
first/wsdl first? (it looks wrapped, but want to verify the rest)

I WOULD expect this behavior if the WSDL or runtime thinks the parts are 
supposed to be unqualified.   Basically, it's walking through elements 
and trying to match them up with the parts from the service model.   
However, the call to rname.equals(part.getConcreteName()) is never 
returning true so it's not finding the appropriate part.

What you MAY want to try looking at if you have this in the debugger is 
to see what rname is and what part.getConcreteName() is.    If 
getConcreteName() doesn't have a URL, it definitely thinks it should be 
unqualified and it may be a bug in how the servicemodel is setup.


Dan


On Sunday 03 February 2008, Frederic Soulier wrote:
> Hi Dan
>
> THere doesn't seem to be a difference in the messages.
>
>
> CXF 2.0.4
> =========
>
> 02-Feb-2008 12:46:56 org.apache.cxf.interceptor.LoggingInInterceptor
> logging
> INFO: Inbound Message
> ----------------------------
> Encoding: UTF-8
> Headers: {Host=[192.168.10.61:9530], User-Agent=[Java/1.5.0_13],
> connection=[keep-alive], SOAPAction=[""], transfer-encoding=
> [chunked], Pragma=[no-cache], content-type=[text/xml; charset=UTF-8],
> Cache-Control=[no-cache], Accept=[*]}
> Messages:
> Message:
>
> Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/
> envelope/"><soap:Body><ns1:lookupUK xmlns:ns1="http://
> addresslookup.surgex.com"><ns1:credential><ns2:serviceName
> xmlns:ns2="http://model.remoting.commons.surgex.com">TEST</
> ns2:serviceName><ns2:servicePassword xmlns:ns2="http://
> model.remoting.commons.surgex.com">password</ns2:servicePassword></
> ns1:credential><ns1:postcode>SW7 7ET</ns1:postcode><ns1:otherInfo /
>
>  ><ns1:multipleResults>false</ns1:multipleResults></ns1:lookupUK></
>
> soap:Body></soap:Envelope>
> --------------------------------------
> 02-Feb-2008 12:46:56 org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
> INFO: Application has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: null while invoking public
> com.surgex.addresslookup.model.UKAddress[]
> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.lookupU
>K(
> com.surgex.commons.remoting.model.Credential,java.lang.String,java.uti
>l. Map,boolean) throws
> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex.co
>mm
> ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons.re
>mo ting.exceptions.UnauthorisedAccessException with params [null, null,
> null, null].
>          at org.apache.cxf.service.invoker.AbstractInvoker.createFault
> (AbstractInvoker.java:109)
>          at org.apache.cxf.jaxws.JAXWSMethodInvoker.createFault
> (JAXWSMethodInvoker.java:76)
>          at org.apache.cxf.service.invoker.AbstractInvoker.invoke
> (AbstractInvoker.java:101)
>          at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke
> (JAXWSMethodInvoker.java:100)
>          at org.apache.cxf.service.invoker.AbstractInvoker.invoke
> (AbstractInvoker.java:68)
>          at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run
> (ServiceInvokerInterceptor.java:56)
>          at org.apache.cxf.workqueue.SynchronousExecutor.execute
> (SynchronousExecutor.java:37)
>          at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage
> (ServiceInvokerInterceptor.java:92)
>          at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
> (PhaseInterceptorChain.java:208)
>          at org.apache.cxf.transport.ChainInitiationObserver.onMessage
> (ChainInitiationObserver.java:77)
>          at
> org.apache.cxf.transport.servlet.ServletDestination.doMessage
> (ServletDestination.java:79)
>          at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination
> (ServletController.java:264)
>          at org.apache.cxf.transport.servlet.ServletController.invoke
> (ServletController.java:160)
>          at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke
> (AbstractCXFServlet.java:170)
>          at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost
> (AbstractCXFServlet.java:148)
>          at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at
> org.mortbay.jetty.servlet.ServletHolder.handle
> (ServletHolder.java:487)
>          at org.mortbay.jetty.servlet.ServletHandler.handle
> (ServletHandler.java:362)
>          at org.mortbay.jetty.servlet.SessionHandler.handle
> (SessionHandler.java:181)
>          at org.mortbay.jetty.handler.ContextHandler.handle
> (ContextHandler.java:726)
>          at org.mortbay.jetty.handler.HandlerWrapper.handle
> (HandlerWrapper.java:139)
>          at org.mortbay.jetty.Server.handle(Server.java:324)
>          at org.mortbay.jetty.HttpConnection.handleRequest
> (HttpConnection.java:505)
>          at org.mortbay.jetty.HttpConnection$RequestHandler.content
> (HttpConnection.java:842)
>          at
> org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:730) at
> org.mortbay.jetty.HttpParser.parseAvailable
> (HttpParser.java:205)
>          at org.mortbay.jetty.HttpConnection.handle
> (HttpConnection.java:380)
>          at org.mortbay.io.nio.SelectChannelEndPoint.run
> (SelectChannelEndPoint.java:395)
>          at org.mortbay.thread.BoundedThreadPool$PoolThread.run
> (BoundedThreadPool.java:450)
> Caused by: java.lang.IllegalArgumentException
>          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method) at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:39)
>          at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:25)
>          at java.lang.reflect.Method.invoke(Method.java:585)
>          at
> org.apache.cxf.service.invoker.AbstractInvoker.performInvocation
> (AbstractInvoker.java:124)
>          at org.apache.cxf.service.invoker.AbstractInvoker.invoke
> (AbstractInvoker.java:82)
>          ... 27 more
> 02-Feb-2008 12:46:56 org.apache.cxf.interceptor.LoggingOutInterceptor
> $LoggingCallback onClose
> INFO: Outbound Message
> ---------------------------
> Encoding: UTF-8
> Headers: {}
> Messages:
> Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/
> envelope/"><soap:Body><soap:Fault><faultcode>soap:Server</
> faultcode><faultstring>null while invoking public
> com.surgex.addresslookup.model.UKAddress[]
> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.lookupU
>K(
> com.surgex.commons.remoting.model.Credential,java.lang.String,java.uti
>l. Map,boolean) throws
> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex.co
>mm
> ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons.re
>mo ting.exceptions.UnauthorisedAccessException with params [null, null,
> null, null].</faultstring></soap:Fault></soap:Body></soap:Envelope>
>
>
>
>
>
> CXF 2.0.3
> =========
>
> 03-Feb-2008 11:12:35 org.apache.cxf.interceptor.LoggingInInterceptor
> handleMessage
> INFO: Inbound Message
> --------------------------------------
> Encoding: UTF-8
> Headers: {Host=[192.168.10.61:9530], User-Agent=[Java/1.5.0_13],
> connection=[keep-alive], SOAPAction=[""], transfer-encoding=
> [chunked], Pragma=[no-cache], content-type=[text/xml; charset=UTF-8],
> Cache-Control=[no-cache], Accept=[*]}
> Message:
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/
> envelope/"><soap:Body><ns1:lookupUK xmlns:ns1="http://
> addresslookup.surgex.com"><ns1:credential><ns2:serviceName
> xmlns:ns2="http://model.remoting.commons.surgex.com">TEST</
> ns2:serviceName><ns2:servicePassword xmlns:ns2="http://
> model.remoting.commons.surgex.com">password</ns2:servicePassword></
> ns1:credential><ns1:postcode>SW7 7ET</ns1:postcode><ns1:otherInfo /
>
>  ><ns1:multipleResults>false</ns1:multipleResults></ns1:lookupUK></
>
> soap:Body></soap:Envelope>
> --------------------------------------
> 2008-02-03 11:12:35,328  DEBUG Looking up UK address. Parameters
> [TEST:password:SW7 7ET:none:false].
> 2008-02-03 11:12:35,618  DEBUG Looking up UK address using SAM.
> Parameters [SW7 7ET].
> 2008-02-03 11:12:35,687  DEBUG Looked up UK address using SAM.
> Parameters [SW7 7ET]. Found [15] addresses.
>
> On 2 Feb 2008, at 03:13, Daniel Kulp wrote:
> > In your spring config, can you add:
> >
> >
> >     <cxf:bus>
> >         <cxf:features>
> >             <cxf:logging/>
> >         </cxf:features>
> >     </cxf:bus>
> >
> > You'll probably need to add:
> > http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
> > to the schemaLocation.
> >
> > This should make it log the incoming/outgoing soap messages to the
> > normal
> > logging place.  (default would be to the console).    I'd be
> > curious to
> > see the difference between the 2.0.3 and 2.0.4 messages.
> >
> > Dan
>
> --
> Frederic P. Soulier
> OpenPGP key available on http://pgpkeys.mit.edu/
> 1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED



-- 
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog

Fwd: Different bevaviour in 2.0.4

Posted by Frederic Soulier <fr...@wallaby.uklinux.net>.
Ok

I've been tracing the 2.0.4 code base to see why I'm getting these 4  
null parameters that triggers the SOAPFault and I ended up finding  
some differences in the DocLiteralInInterceptor class.
I haven't traced 2.0.3.

Am I onto something here?

Thx.

The 2.04 DocLiteralInInterceptor has:

     private void getPara(DepthXMLStreamReader xmlReader,
                          DataReader<XMLStreamReader> dr,
                          MessageContentsList parameters,
                          Iterator<MessagePartInfo> itr,
                          Message message) {

         boolean hasNext = true;
         while (itr.hasNext()) {
             MessagePartInfo part = itr.next();
             if (hasNext) {
                 hasNext = StaxUtils.toNextElement(xmlReader);
             }
             Object obj = null;
             if (hasNext) {
                 QName rname = xmlReader.getName();
                 while (part != null
                     && !rname.equals(part.getConcreteName())) {
                     if (part.getXmlSchema() instanceof  
XmlSchemaElement) {
                         //TODO - should check minOccurs=0 and throw  
validation exception
                         //thing if the part needs to be here
                         parameters.put(part, null);     << in my  
case always executes this line
                     }

                     if (itr.hasNext()) {
                         part = itr.next();
                     } else {
                         part = null;
                     }
                 }
                 if (part == null) {
                     return;             << actually returns here
                 }
                 if (rname.equals(part.getConcreteName())) {
                     obj = dr.read(part, xmlReader);       << never  
executed
                 }
             }
             parameters.put(part, obj);
         }
     }


The 2.0.3 DocLiteralInInterceptor has:

     private void getPara(DepthXMLStreamReader xmlReader,
                          DataReader<XMLStreamReader> dr,
                          MessageContentsList parameters,
                          Iterator<MessagePartInfo> itr,
                          Message message) {

         boolean hasNext = true;
         while (itr.hasNext()) {
             MessagePartInfo part = itr.next();
             if (hasNext) {
                 hasNext = StaxUtils.toNextElement(xmlReader);
             }
             Object obj = null;
             if (hasNext) {
                 QName rname = xmlReader.getName();
                 while (part != null
                     && !rname.equals(part.getConcreteName())) {
                     String bindingType =
                         message.getExchange().get 
(Service.class).getDataBinding().getClass().getName();
                     if (part.getXmlSchema() instanceof  
XmlSchemaElement) {
                         if (bindingType.endsWith("AegisDatabinding")) {
                             parameters.add(dr.read(part, xmlReader));
                         } else {
                             //should check minOccurs=0
                             parameters.put(part, null);
                         }
                     }

                     if (itr.hasNext()) {
                         part = itr.next();
                     } else {
                         part = null;
                     }
                 }
                 if (part == null) {
                     return;
                 }
                 if (rname.equals(part.getConcreteName())) {
                     obj = dr.read(part, xmlReader);
                 }
             }
             parameters.put(part, obj);
         }
     }





Begin forwarded message:

> From: Frederic Soulier <fr...@wallaby.uklinux.net>
> Date: 4 February 2008 21:51:17 GMT
> To: cxf-user@incubator.apache.org
> Subject: Fwd: Different bevaviour in 2.0.4
> Reply-To: cxf-user@incubator.apache.org
>
> Hi
>
> So any idea why this could be failing on 2.0.4 and not 2.0.3?
>
> Thx.
>
> Begin forwarded message:
>
>> From: Frederic Soulier <fr...@wallaby.uklinux.net>
>> Date: 3 February 2008 11:22:29 GMT
>> To: cxf-user@incubator.apache.org
>> Subject: Re: Different bevaviour in 2.0.4
>> Reply-To: cxf-user@incubator.apache.org
>>
>> Hi Dan
>>
>> THere doesn't seem to be a difference in the messages.
>>
>>
>> CXF 2.0.4
>> =========
>>
>> 02-Feb-2008 12:46:56  
>> org.apache.cxf.interceptor.LoggingInInterceptor logging
>> INFO: Inbound Message
>> ----------------------------
>> Encoding: UTF-8
>> Headers: {Host=[192.168.10.61:9530], User-Agent=[Java/1.5.0_13],  
>> connection=[keep-alive], SOAPAction=[""], transfer-encoding= 
>> [chunked], Pragma=[no-cache], content-type=[text/xml;  
>> charset=UTF-8], Cache-Control=[no-cache], Accept=[*]}
>> Messages:
>> Message:
>>
>> Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/ 
>> soap/envelope/"><soap:Body><ns1:lookupUK xmlns:ns1="http:// 
>> addresslookup.surgex.com"><ns1:credential><ns2:serviceName  
>> xmlns:ns2="http://model.remoting.commons.surgex.com">TEST</ 
>> ns2:serviceName><ns2:servicePassword xmlns:ns2="http:// 
>> model.remoting.commons.surgex.com">password</ns2:servicePassword></ 
>> ns1:credential><ns1:postcode>SW7 7ET</ns1:postcode><ns1:otherInfo / 
>> ><ns1:multipleResults>false</ns1:multipleResults></ns1:lookupUK></ 
>> soap:Body></soap:Envelope>
>> --------------------------------------
>> 02-Feb-2008 12:46:56 org.apache.cxf.phase.PhaseInterceptorChain  
>> doIntercept
>> INFO: Application has thrown exception, unwinding now
>> org.apache.cxf.interceptor.Fault: null while invoking public  
>> com.surgex.addresslookup.model.UKAddress[]  
>> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.lookup 
>> UK 
>> (com.surgex.commons.remoting.model.Credential,java.lang.String,java.u 
>> til.Map,boolean) throws  
>> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex.c 
>> ommons.remoting.exceptions.InvalidArgumentException,com.surgex.common 
>> s.remoting.exceptions.UnauthorisedAccessException with params  
>> [null, null, null, null].
>>         at  
>> org.apache.cxf.service.invoker.AbstractInvoker.createFault 
>> (AbstractInvoker.java:109)
>>         at org.apache.cxf.jaxws.JAXWSMethodInvoker.createFault 
>> (JAXWSMethodInvoker.java:76)
>>         at org.apache.cxf.service.invoker.AbstractInvoker.invoke 
>> (AbstractInvoker.java:101)
>>         at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke 
>> (JAXWSMethodInvoker.java:100)
>>         at org.apache.cxf.service.invoker.AbstractInvoker.invoke 
>> (AbstractInvoker.java:68)
>>         at org.apache.cxf.interceptor.ServiceInvokerInterceptor 
>> $1.run(ServiceInvokerInterceptor.java:56)
>>         at org.apache.cxf.workqueue.SynchronousExecutor.execute 
>> (SynchronousExecutor.java:37)
>>         at  
>> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage 
>> (ServiceInvokerInterceptor.java:92)
>>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept 
>> (PhaseInterceptorChain.java:208)
>>         at  
>> org.apache.cxf.transport.ChainInitiationObserver.onMessage 
>> (ChainInitiationObserver.java:77)
>>         at  
>> org.apache.cxf.transport.servlet.ServletDestination.doMessage 
>> (ServletDestination.java:79)
>>         at  
>> org.apache.cxf.transport.servlet.ServletController.invokeDestination( 
>> ServletController.java:264)
>>         at  
>> org.apache.cxf.transport.servlet.ServletController.invoke 
>> (ServletController.java:160)
>>         at  
>> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke 
>> (AbstractCXFServlet.java:170)
>>         at  
>> org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost 
>> (AbstractCXFServlet.java:148)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java: 
>> 763)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java: 
>> 856)
>>         at org.mortbay.jetty.servlet.ServletHolder.handle 
>> (ServletHolder.java:487)
>>         at org.mortbay.jetty.servlet.ServletHandler.handle 
>> (ServletHandler.java:362)
>>         at org.mortbay.jetty.servlet.SessionHandler.handle 
>> (SessionHandler.java:181)
>>         at org.mortbay.jetty.handler.ContextHandler.handle 
>> (ContextHandler.java:726)
>>         at org.mortbay.jetty.handler.HandlerWrapper.handle 
>> (HandlerWrapper.java:139)
>>         at org.mortbay.jetty.Server.handle(Server.java:324)
>>         at org.mortbay.jetty.HttpConnection.handleRequest 
>> (HttpConnection.java:505)
>>         at org.mortbay.jetty.HttpConnection$RequestHandler.content 
>> (HttpConnection.java:842)
>>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java: 
>> 730)
>>         at org.mortbay.jetty.HttpParser.parseAvailable 
>> (HttpParser.java:205)
>>         at org.mortbay.jetty.HttpConnection.handle 
>> (HttpConnection.java:380)
>>         at org.mortbay.io.nio.SelectChannelEndPoint.run 
>> (SelectChannelEndPoint.java:395)
>>         at org.mortbay.thread.BoundedThreadPool$PoolThread.run 
>> (BoundedThreadPool.java:450)
>> Caused by: java.lang.IllegalArgumentException
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native  
>> Method)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke 
>> (NativeMethodAccessorImpl.java:39)
>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke 
>> (DelegatingMethodAccessorImpl.java:25)
>>         at java.lang.reflect.Method.invoke(Method.java:585)
>>         at  
>> org.apache.cxf.service.invoker.AbstractInvoker.performInvocation 
>> (AbstractInvoker.java:124)
>>         at org.apache.cxf.service.invoker.AbstractInvoker.invoke 
>> (AbstractInvoker.java:82)
>>         ... 27 more
>> 02-Feb-2008 12:46:56  
>> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback  
>> onClose
>> INFO: Outbound Message
>> ---------------------------
>> Encoding: UTF-8
>> Headers: {}
>> Messages:
>> Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/ 
>> soap/envelope/"><soap:Body><soap:Fault><faultcode>soap:Server</ 
>> faultcode><faultstring>null while invoking public  
>> com.surgex.addresslookup.model.UKAddress[]  
>> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.lookup 
>> UK 
>> (com.surgex.commons.remoting.model.Credential,java.lang.String,java.u 
>> til.Map,boolean) throws  
>> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex.c 
>> ommons.remoting.exceptions.InvalidArgumentException,com.surgex.common 
>> s.remoting.exceptions.UnauthorisedAccessException with params  
>> [null, null, null, null].</faultstring></soap:Fault></soap:Body></ 
>> soap:Envelope>
>>
>>
>>
>>
>>
>> CXF 2.0.3
>> =========
>>
>> 03-Feb-2008 11:12:35  
>> org.apache.cxf.interceptor.LoggingInInterceptor handleMessage
>> INFO: Inbound Message
>> --------------------------------------
>> Encoding: UTF-8
>> Headers: {Host=[192.168.10.61:9530], User-Agent=[Java/1.5.0_13],  
>> connection=[keep-alive], SOAPAction=[""], transfer-encoding= 
>> [chunked], Pragma=[no-cache], content-type=[text/xml;  
>> charset=UTF-8], Cache-Control=[no-cache], Accept=[*]}
>> Message:
>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/ 
>> envelope/"><soap:Body><ns1:lookupUK xmlns:ns1="http:// 
>> addresslookup.surgex.com"><ns1:credential><ns2:serviceName  
>> xmlns:ns2="http://model.remoting.commons.surgex.com">TEST</ 
>> ns2:serviceName><ns2:servicePassword xmlns:ns2="http:// 
>> model.remoting.commons.surgex.com">password</ns2:servicePassword></ 
>> ns1:credential><ns1:postcode>SW7 7ET</ns1:postcode><ns1:otherInfo / 
>> ><ns1:multipleResults>false</ns1:multipleResults></ns1:lookupUK></ 
>> soap:Body></soap:Envelope>
>> --------------------------------------
>> 2008-02-03 11:12:35,328  DEBUG Looking up UK address. Parameters  
>> [TEST:password:SW7 7ET:none:false].
>> 2008-02-03 11:12:35,618  DEBUG Looking up UK address using SAM.  
>> Parameters [SW7 7ET].
>> 2008-02-03 11:12:35,687  DEBUG Looked up UK address using SAM.  
>> Parameters [SW7 7ET]. Found [15] addresses.
>>
>>
>>
>>
>>
>> On 2 Feb 2008, at 03:13, Daniel Kulp wrote:
>>
>>>
>>> In your spring config, can you add:
>>>
>>>
>>>     <cxf:bus>
>>>         <cxf:features>
>>>             <cxf:logging/>
>>>         </cxf:features>
>>>     </cxf:bus>
>>>
>>> You'll probably need to add:
>>> http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
>>> to the schemaLocation.
>>>
>>> This should make it log the incoming/outgoing soap messages to  
>>> the normal
>>> logging place.  (default would be to the console).    I'd be  
>>> curious to
>>> see the difference between the 2.0.3 and 2.0.4 messages.
>>>
>>> Dan
>>>
>>
>> --
>> Frederic P. Soulier
>> OpenPGP key available on http://pgpkeys.mit.edu/
>> 1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED
>
> --
> Frederic P. Soulier
> OpenPGP key available on http://pgpkeys.mit.edu/
> 1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED

--
Frederic P. Soulier
OpenPGP key available on http://pgpkeys.mit.edu/
1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED


Fwd: Different bevaviour in 2.0.4

Posted by Frederic Soulier <fr...@wallaby.uklinux.net>.
Hi

So any idea why this could be failing on 2.0.4 and not 2.0.3?

Thx.

Begin forwarded message:

> From: Frederic Soulier <fr...@wallaby.uklinux.net>
> Date: 3 February 2008 11:22:29 GMT
> To: cxf-user@incubator.apache.org
> Subject: Re: Different bevaviour in 2.0.4
> Reply-To: cxf-user@incubator.apache.org
>
> Hi Dan
>
> THere doesn't seem to be a difference in the messages.
>
>
> CXF 2.0.4
> =========
>
> 02-Feb-2008 12:46:56  
> org.apache.cxf.interceptor.LoggingInInterceptor logging
> INFO: Inbound Message
> ----------------------------
> Encoding: UTF-8
> Headers: {Host=[192.168.10.61:9530], User-Agent=[Java/1.5.0_13],  
> connection=[keep-alive], SOAPAction=[""], transfer-encoding= 
> [chunked], Pragma=[no-cache], content-type=[text/xml;  
> charset=UTF-8], Cache-Control=[no-cache], Accept=[*]}
> Messages:
> Message:
>
> Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/ 
> envelope/"><soap:Body><ns1:lookupUK xmlns:ns1="http:// 
> addresslookup.surgex.com"><ns1:credential><ns2:serviceName  
> xmlns:ns2="http://model.remoting.commons.surgex.com">TEST</ 
> ns2:serviceName><ns2:servicePassword xmlns:ns2="http:// 
> model.remoting.commons.surgex.com">password</ns2:servicePassword></ 
> ns1:credential><ns1:postcode>SW7 7ET</ns1:postcode><ns1:otherInfo / 
> ><ns1:multipleResults>false</ns1:multipleResults></ns1:lookupUK></ 
> soap:Body></soap:Envelope>
> --------------------------------------
> 02-Feb-2008 12:46:56 org.apache.cxf.phase.PhaseInterceptorChain  
> doIntercept
> INFO: Application has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: null while invoking public  
> com.surgex.addresslookup.model.UKAddress[]  
> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.lookupU 
> K 
> (com.surgex.commons.remoting.model.Credential,java.lang.String,java.ut 
> il.Map,boolean) throws  
> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex.co 
> mmons.remoting.exceptions.InvalidArgumentException,com.surgex.commons. 
> remoting.exceptions.UnauthorisedAccessException with params [null,  
> null, null, null].
>         at  
> org.apache.cxf.service.invoker.AbstractInvoker.createFault 
> (AbstractInvoker.java:109)
>         at org.apache.cxf.jaxws.JAXWSMethodInvoker.createFault 
> (JAXWSMethodInvoker.java:76)
>         at org.apache.cxf.service.invoker.AbstractInvoker.invoke 
> (AbstractInvoker.java:101)
>         at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke 
> (JAXWSMethodInvoker.java:100)
>         at org.apache.cxf.service.invoker.AbstractInvoker.invoke 
> (AbstractInvoker.java:68)
>         at org.apache.cxf.interceptor.ServiceInvokerInterceptor 
> $1.run(ServiceInvokerInterceptor.java:56)
>         at org.apache.cxf.workqueue.SynchronousExecutor.execute 
> (SynchronousExecutor.java:37)
>         at  
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage 
> (ServiceInvokerInterceptor.java:92)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept 
> (PhaseInterceptorChain.java:208)
>         at  
> org.apache.cxf.transport.ChainInitiationObserver.onMessage 
> (ChainInitiationObserver.java:77)
>         at  
> org.apache.cxf.transport.servlet.ServletDestination.doMessage 
> (ServletDestination.java:79)
>         at  
> org.apache.cxf.transport.servlet.ServletController.invokeDestination 
> (ServletController.java:264)
>         at org.apache.cxf.transport.servlet.ServletController.invoke 
> (ServletController.java:160)
>         at  
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke 
> (AbstractCXFServlet.java:170)
>         at  
> org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost 
> (AbstractCXFServlet.java:148)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java: 
> 763)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java: 
> 856)
>         at org.mortbay.jetty.servlet.ServletHolder.handle 
> (ServletHolder.java:487)
>         at org.mortbay.jetty.servlet.ServletHandler.handle 
> (ServletHandler.java:362)
>         at org.mortbay.jetty.servlet.SessionHandler.handle 
> (SessionHandler.java:181)
>         at org.mortbay.jetty.handler.ContextHandler.handle 
> (ContextHandler.java:726)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle 
> (HandlerWrapper.java:139)
>         at org.mortbay.jetty.Server.handle(Server.java:324)
>         at org.mortbay.jetty.HttpConnection.handleRequest 
> (HttpConnection.java:505)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.content 
> (HttpConnection.java:842)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:730)
>         at org.mortbay.jetty.HttpParser.parseAvailable 
> (HttpParser.java:205)
>         at org.mortbay.jetty.HttpConnection.handle 
> (HttpConnection.java:380)
>         at org.mortbay.io.nio.SelectChannelEndPoint.run 
> (SelectChannelEndPoint.java:395)
>         at org.mortbay.thread.BoundedThreadPool$PoolThread.run 
> (BoundedThreadPool.java:450)
> Caused by: java.lang.IllegalArgumentException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at  
> org.apache.cxf.service.invoker.AbstractInvoker.performInvocation 
> (AbstractInvoker.java:124)
>         at org.apache.cxf.service.invoker.AbstractInvoker.invoke 
> (AbstractInvoker.java:82)
>         ... 27 more
> 02-Feb-2008 12:46:56  
> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback  
> onClose
> INFO: Outbound Message
> ---------------------------
> Encoding: UTF-8
> Headers: {}
> Messages:
> Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/ 
> envelope/"><soap:Body><soap:Fault><faultcode>soap:Server</ 
> faultcode><faultstring>null while invoking public  
> com.surgex.addresslookup.model.UKAddress[]  
> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.lookupU 
> K 
> (com.surgex.commons.remoting.model.Credential,java.lang.String,java.ut 
> il.Map,boolean) throws  
> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex.co 
> mmons.remoting.exceptions.InvalidArgumentException,com.surgex.commons. 
> remoting.exceptions.UnauthorisedAccessException with params [null,  
> null, null, null].</faultstring></soap:Fault></soap:Body></ 
> soap:Envelope>
>
>
>
>
>
> CXF 2.0.3
> =========
>
> 03-Feb-2008 11:12:35  
> org.apache.cxf.interceptor.LoggingInInterceptor handleMessage
> INFO: Inbound Message
> --------------------------------------
> Encoding: UTF-8
> Headers: {Host=[192.168.10.61:9530], User-Agent=[Java/1.5.0_13],  
> connection=[keep-alive], SOAPAction=[""], transfer-encoding= 
> [chunked], Pragma=[no-cache], content-type=[text/xml;  
> charset=UTF-8], Cache-Control=[no-cache], Accept=[*]}
> Message:
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/ 
> envelope/"><soap:Body><ns1:lookupUK xmlns:ns1="http:// 
> addresslookup.surgex.com"><ns1:credential><ns2:serviceName  
> xmlns:ns2="http://model.remoting.commons.surgex.com">TEST</ 
> ns2:serviceName><ns2:servicePassword xmlns:ns2="http:// 
> model.remoting.commons.surgex.com">password</ns2:servicePassword></ 
> ns1:credential><ns1:postcode>SW7 7ET</ns1:postcode><ns1:otherInfo / 
> ><ns1:multipleResults>false</ns1:multipleResults></ns1:lookupUK></ 
> soap:Body></soap:Envelope>
> --------------------------------------
> 2008-02-03 11:12:35,328  DEBUG Looking up UK address. Parameters  
> [TEST:password:SW7 7ET:none:false].
> 2008-02-03 11:12:35,618  DEBUG Looking up UK address using SAM.  
> Parameters [SW7 7ET].
> 2008-02-03 11:12:35,687  DEBUG Looked up UK address using SAM.  
> Parameters [SW7 7ET]. Found [15] addresses.
>
>
>
>
>
> On 2 Feb 2008, at 03:13, Daniel Kulp wrote:
>
>>
>> In your spring config, can you add:
>>
>>
>>     <cxf:bus>
>>         <cxf:features>
>>             <cxf:logging/>
>>         </cxf:features>
>>     </cxf:bus>
>>
>> You'll probably need to add:
>> http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
>> to the schemaLocation.
>>
>> This should make it log the incoming/outgoing soap messages to the  
>> normal
>> logging place.  (default would be to the console).    I'd be  
>> curious to
>> see the difference between the 2.0.3 and 2.0.4 messages.
>>
>> Dan
>>
>
> --
> Frederic P. Soulier
> OpenPGP key available on http://pgpkeys.mit.edu/
> 1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED

--
Frederic P. Soulier
OpenPGP key available on http://pgpkeys.mit.edu/
1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED


Re: Different bevaviour in 2.0.4

Posted by Frederic Soulier <fr...@wallaby.uklinux.net>.
Hi Dan

THere doesn't seem to be a difference in the messages.


CXF 2.0.4
=========

02-Feb-2008 12:46:56 org.apache.cxf.interceptor.LoggingInInterceptor  
logging
INFO: Inbound Message
----------------------------
Encoding: UTF-8
Headers: {Host=[192.168.10.61:9530], User-Agent=[Java/1.5.0_13],  
connection=[keep-alive], SOAPAction=[""], transfer-encoding= 
[chunked], Pragma=[no-cache], content-type=[text/xml; charset=UTF-8],  
Cache-Control=[no-cache], Accept=[*]}
Messages:
Message:

Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/ 
envelope/"><soap:Body><ns1:lookupUK xmlns:ns1="http:// 
addresslookup.surgex.com"><ns1:credential><ns2:serviceName  
xmlns:ns2="http://model.remoting.commons.surgex.com">TEST</ 
ns2:serviceName><ns2:servicePassword xmlns:ns2="http:// 
model.remoting.commons.surgex.com">password</ns2:servicePassword></ 
ns1:credential><ns1:postcode>SW7 7ET</ns1:postcode><ns1:otherInfo / 
 ><ns1:multipleResults>false</ns1:multipleResults></ns1:lookupUK></ 
soap:Body></soap:Envelope>
--------------------------------------
02-Feb-2008 12:46:56 org.apache.cxf.phase.PhaseInterceptorChain  
doIntercept
INFO: Application has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: null while invoking public  
com.surgex.addresslookup.model.UKAddress[]  
com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.lookupUK( 
com.surgex.commons.remoting.model.Credential,java.lang.String,java.util. 
Map,boolean) throws  
com.surgex.commons.remoting.exceptions.RemotingException,com.surgex.comm 
ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons.remo 
ting.exceptions.UnauthorisedAccessException with params [null, null,  
null, null].
         at org.apache.cxf.service.invoker.AbstractInvoker.createFault 
(AbstractInvoker.java:109)
         at org.apache.cxf.jaxws.JAXWSMethodInvoker.createFault 
(JAXWSMethodInvoker.java:76)
         at org.apache.cxf.service.invoker.AbstractInvoker.invoke 
(AbstractInvoker.java:101)
         at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke 
(JAXWSMethodInvoker.java:100)
         at org.apache.cxf.service.invoker.AbstractInvoker.invoke 
(AbstractInvoker.java:68)
         at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run 
(ServiceInvokerInterceptor.java:56)
         at org.apache.cxf.workqueue.SynchronousExecutor.execute 
(SynchronousExecutor.java:37)
         at  
org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage 
(ServiceInvokerInterceptor.java:92)
         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept 
(PhaseInterceptorChain.java:208)
         at org.apache.cxf.transport.ChainInitiationObserver.onMessage 
(ChainInitiationObserver.java:77)
         at  
org.apache.cxf.transport.servlet.ServletDestination.doMessage 
(ServletDestination.java:79)
         at  
org.apache.cxf.transport.servlet.ServletController.invokeDestination 
(ServletController.java:264)
         at org.apache.cxf.transport.servlet.ServletController.invoke 
(ServletController.java:160)
         at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke 
(AbstractCXFServlet.java:170)
         at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost 
(AbstractCXFServlet.java:148)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at org.mortbay.jetty.servlet.ServletHolder.handle 
(ServletHolder.java:487)
         at org.mortbay.jetty.servlet.ServletHandler.handle 
(ServletHandler.java:362)
         at org.mortbay.jetty.servlet.SessionHandler.handle 
(SessionHandler.java:181)
         at org.mortbay.jetty.handler.ContextHandler.handle 
(ContextHandler.java:726)
         at org.mortbay.jetty.handler.HandlerWrapper.handle 
(HandlerWrapper.java:139)
         at org.mortbay.jetty.Server.handle(Server.java:324)
         at org.mortbay.jetty.HttpConnection.handleRequest 
(HttpConnection.java:505)
         at org.mortbay.jetty.HttpConnection$RequestHandler.content 
(HttpConnection.java:842)
         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:730)
         at org.mortbay.jetty.HttpParser.parseAvailable 
(HttpParser.java:205)
         at org.mortbay.jetty.HttpConnection.handle 
(HttpConnection.java:380)
         at org.mortbay.io.nio.SelectChannelEndPoint.run 
(SelectChannelEndPoint.java:395)
         at org.mortbay.thread.BoundedThreadPool$PoolThread.run 
(BoundedThreadPool.java:450)
Caused by: java.lang.IllegalArgumentException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke 
(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke 
(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at  
org.apache.cxf.service.invoker.AbstractInvoker.performInvocation 
(AbstractInvoker.java:124)
         at org.apache.cxf.service.invoker.AbstractInvoker.invoke 
(AbstractInvoker.java:82)
         ... 27 more
02-Feb-2008 12:46:56 org.apache.cxf.interceptor.LoggingOutInterceptor 
$LoggingCallback onClose
INFO: Outbound Message
---------------------------
Encoding: UTF-8
Headers: {}
Messages:
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/ 
envelope/"><soap:Body><soap:Fault><faultcode>soap:Server</ 
faultcode><faultstring>null while invoking public  
com.surgex.addresslookup.model.UKAddress[]  
com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.lookupUK( 
com.surgex.commons.remoting.model.Credential,java.lang.String,java.util. 
Map,boolean) throws  
com.surgex.commons.remoting.exceptions.RemotingException,com.surgex.comm 
ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons.remo 
ting.exceptions.UnauthorisedAccessException with params [null, null,  
null, null].</faultstring></soap:Fault></soap:Body></soap:Envelope>





CXF 2.0.3
=========

03-Feb-2008 11:12:35 org.apache.cxf.interceptor.LoggingInInterceptor  
handleMessage
INFO: Inbound Message
--------------------------------------
Encoding: UTF-8
Headers: {Host=[192.168.10.61:9530], User-Agent=[Java/1.5.0_13],  
connection=[keep-alive], SOAPAction=[""], transfer-encoding= 
[chunked], Pragma=[no-cache], content-type=[text/xml; charset=UTF-8],  
Cache-Control=[no-cache], Accept=[*]}
Message:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/ 
envelope/"><soap:Body><ns1:lookupUK xmlns:ns1="http:// 
addresslookup.surgex.com"><ns1:credential><ns2:serviceName  
xmlns:ns2="http://model.remoting.commons.surgex.com">TEST</ 
ns2:serviceName><ns2:servicePassword xmlns:ns2="http:// 
model.remoting.commons.surgex.com">password</ns2:servicePassword></ 
ns1:credential><ns1:postcode>SW7 7ET</ns1:postcode><ns1:otherInfo / 
 ><ns1:multipleResults>false</ns1:multipleResults></ns1:lookupUK></ 
soap:Body></soap:Envelope>
--------------------------------------
2008-02-03 11:12:35,328  DEBUG Looking up UK address. Parameters  
[TEST:password:SW7 7ET:none:false].
2008-02-03 11:12:35,618  DEBUG Looking up UK address using SAM.  
Parameters [SW7 7ET].
2008-02-03 11:12:35,687  DEBUG Looked up UK address using SAM.  
Parameters [SW7 7ET]. Found [15] addresses.





On 2 Feb 2008, at 03:13, Daniel Kulp wrote:

>
> In your spring config, can you add:
>
>
>     <cxf:bus>
>         <cxf:features>
>             <cxf:logging/>
>         </cxf:features>
>     </cxf:bus>
>
> You'll probably need to add:
> http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
> to the schemaLocation.
>
> This should make it log the incoming/outgoing soap messages to the  
> normal
> logging place.  (default would be to the console).    I'd be  
> curious to
> see the difference between the 2.0.3 and 2.0.4 messages.
>
> Dan
>

--
Frederic P. Soulier
OpenPGP key available on http://pgpkeys.mit.edu/
1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED


Re: Different bevaviour in 2.0.4

Posted by Daniel Kulp <dk...@apache.org>.
In your spring config, can you add:


    <cxf:bus>
        <cxf:features>
            <cxf:logging/>
        </cxf:features>
    </cxf:bus> 

You'll probably need to add:
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
to the schemaLocation.

This should make it log the incoming/outgoing soap messages to the normal 
logging place.  (default would be to the console).    I'd be curious to 
see the difference between the 2.0.3 and 2.0.4 messages.

Dan


On Friday 01 February 2008, Frederic Soulier wrote:
> Hi Dan
>
> A bit more info that can help.
>
> I'm using Spring 2.5.1 and Aegis Data binding. CXF is on both side of
> the wire.
>
> The Spring config I use to set up the client side is as follows:
>
> <?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:jaxws="http://cxf.apache.org/jaxws"
>        
> xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/ beans/spring-beans-2.0.xsd
>                             http://cxf.apache.org/jaxws
>                             http://cxf.apache.org/schema/jaxws.xsd">
>
>      <bean id="soapProxy"
> class="com.surgex.addresslookup.service.IAddressLookupService"
> factory-bean="clientFactory" factory-method="create"/>
>
> 	<bean id="clientFactory"
> class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
> 	  	<property name="serviceClass"
> value="com.surgex.addresslookup.service.IAddressLookupService"/>
> 	  	<property name="address" value=" http://192.168.10.60:9520/
> remoting/soap/AddressLookupService"/>
> 		<property name="serviceFactory">
> 			<ref bean="jaxws-and-aegis-service-factory"/>
> 		</property>
> 	</bean>
>
> 	<!-- Aegis is a fast StAX based data-binding that makes developing
> code first services -->
> 	<!-- as simply as possible. It is able to handle most classes and
> create intelligent   -->
> 	<!-- schemas for
> them.
> -->
> 	<!-- http://cwiki.apache.org/CXF20DOC/aegis-
> databinding.html                           -->
> 	<bean id="aegisBean"
> class="org.apache.cxf.aegis.databinding.AegisDatabinding"/>
>
> 	<bean id='jaxws-and-aegis-service-factory'
> class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
> 		<property name="dataBinding" ref="aegisBean"/>
> 		<property name="serviceConfigurations">
> 			<list>
> 				<bean
> class="org.apache.cxf.jaxws.support.JaxWsServiceConfiguration"/>
> 				<bean
> class="org.apache.cxf.aegis.databinding.AegisServiceConfiguration"/>
> 				<bean
> class="org.apache.cxf.service.factory.DefaultServiceConfiguration"/>
> 			</list>
> 		</property>
> 	</bean>
>
> </beans>
>
>
> What do you mean by "wire trace"?
> Happy to provide more info though if I can get it.
>
> Thx.
>
> On 1 Feb 2008, at 02:57, Daniel Kulp wrote:
> > Hmm...   That's really not good.
> >
> > Is there any chance you can get a wire trace of the test with both
> > 2.0.3
> > and 2.0.4?  Is it CXF on both sides of the wire?   There were some
> > updates to the fault handling/mapping to make it honor the
> > elementFormDefault flags of the schemas.   Thus, the fault messages
> > don't match the schema, there could be problems.
> >
> > Dan
> >
> > On Thursday 31 January 2008, Frederic Soulier wrote:
> >> Hi
> >>
> >> I've been using 2.0.3 with good success and I decided to upgrade to
> >> 2.0.4 this morning.
> >> I'm having problem running my tests which are failing now with:
> >>
> >>   Testcase: test5SoapRemoting
> >> (com.surgex.addresslookup.service.AddressLookupServiceIntegrationTe
> >>st )
> >>
> >> : Caused an ERROR
> >>
> >>      [junit] null while invoking public
> >> com.surgex.addresslookup.model.UKAddress[]
> >> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.look
> >>up U
> >> K(
> >> com.surgex.commons.remoting.model.Credential,java.lang.String,java.
> >>ut i
> >> l. Map,boolean) throws
> >> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex
> >>.c o
> >> mm
> >> ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons
> >>.r e
> >> mo ting.exceptions.UnauthorisedAccessException with params [null,
> >> null,
> >> null, null].
> >>      [junit] javax.xml.ws.soap.SOAPFaultException: null while
> >> invoking public com.surgex.addresslookup.model.UKAddress[]
> >> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.look
> >>up U
> >> K(
> >> com.surgex.commons.remoting.model.Credential,java.lang.String,java.
> >>ut i
> >> l. Map,boolean) throws
> >> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex
> >>.c o
> >> mm
> >> ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons
> >>.r e
> >> mo ting.exceptions.UnauthorisedAccessException with params [null,
> >> null,
> >> null, null].
> >>      [junit] 	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke
> >> (JaxWsClientProxy.java:175)
> >>      [junit] 	at $Proxy21.lookupUK(Unknown Source)
> >>      [junit] 	at
> >> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTes
> >>t. e
> >> xe cuteTests(AddressLookupServiceIntegrationTest.java:217)
> >>      [junit] 	at
> >> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTes
> >>t. t
> >> es t5SoapRemoting(AddressLookupServiceIntegrationTest.java:158)
> >>      [junit] 	at
> >> org.springframework.test.ConditionalTestCase.runBare
> >> (ConditionalTestCase.java:76)
> >>      [junit] Caused by: org.apache.cxf.binding.soap.SoapFault: null
> >> while invoking public com.surgex.addresslookup.model.UKAddress[]
> >> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.look
> >>up U
> >> K(
> >> com.surgex.commons.remoting.model.Credential,java.lang.String,java.
> >>ut i
> >> l. Map,boolean) throws
> >> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex
> >>.c o
> >> mm
> >> ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons
> >>.r e
> >> mo ting.exceptions.UnauthorisedAccessException with params [null,
> >> null,
> >> null, null].
> >>      [junit] 	at
> >> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.ha
> >>nd l
> >> eM essage(Soap11FaultInInterceptor.java:70)
> >>      [junit] 	at
> >> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.ha
> >>nd l
> >> eM essage(Soap11FaultInInterceptor.java:35)
> >>      [junit] 	at
> >> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
> >> (PhaseInterceptorChain.java:208)
> >>      [junit] 	at
> >> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMe
> >>ss a
> >> ge (AbstractFaultChainInitiatorObserver.java:96)
> >>      [junit] 	at
> >> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.hand
> >>le M
> >> es sage(ReadHeadersInterceptor.java:183)
> >>      [junit] 	at
> >> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.hand
> >>le M
> >> es sage(ReadHeadersInterceptor.java:56)
> >>      [junit] 	at
> >> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
> >> (PhaseInterceptorChain.java:208)
> >>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.onMessage
> >> (ClientImpl.java:429)
> >>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit
> >> $WrappedOutputStream.handleResponse(HTTPConduit.java:1955)
> >>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit
> >> $WrappedOutputStream.close(HTTPConduit.java:1791)
> >>      [junit] 	at org.apache.cxf.transport.AbstractConduit.close
> >> (AbstractConduit.java:66)
> >>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit.close
> >> (HTTPConduit.java:575)
> >>      [junit] 	at
> >> org.apache.cxf.interceptor.MessageSenderInterceptor
> >> $MessageSenderEndingInterceptor.handleMessage
> >> (MessageSenderInterceptor.java:62)
> >>      [junit] 	at
> >> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
> >> (PhaseInterceptorChain.java:208)
> >>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.invoke
> >> (ClientImpl.java:276)
> >>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.invoke
> >> (ClientImpl.java:222)
> >>      [junit] 	at org.apache.cxf.frontend.ClientProxy.invokeSync
> >> (ClientProxy.java:73)
> >>      [junit] 	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke
> >> (JaxWsClientProxy.java:135)
> >>      [junit] Test
> >> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTes
> >>t FAILED
> >>
> >>
> >> If I downgrade the CXF jar file back to 2.0.3 the tests run again.
> >>
> >> Any idea what I'm missing or what's triggering this behaviour?
> >>
> >> Thx a lot for any help.
> >>
> >> --
> >> This email is intended for the recipients only and should not be
> >> copied, forwarded or otherwise distributed to third parties without
> >> the consent of the original author.
> >>
> >> Frederic Soulier <fr...@cecuregaming.com>
> >> Senior Vice-President Casino
> >> Cecure Gaming Ltd. 23 Clayton Rd. Hayes. Middlesex. UB3 1AN. United
> >> Kingdom
> >> (Mob) +44(0)7967966490  (Tel) +44(0)2088171444  (Fax) +44(0)
> >> 2088171240
> >> OpenPGP key available on http://www.keyserver.net
> >> 1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED
> >>
> >>
> >>
> >> ___________________________________________________________________
> >>__ _
> >> This email is intended for the recipients only and should not be
> >> copied, forwarded or otherwise distributed to third parties without
> >> the consent of the original author. Cecure Gaming Ltd Registered
> >> address: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD.
> >> Company Number 4126153
> >> ___________________________________________________________________
> >>__ _
> >
> > --
> > J. Daniel Kulp
> > Principal Engineer, IONA
> > dkulp@apache.org
> > http://www.dankulp.com/blog
>
> --
> Frederic P. Soulier
> OpenPGP key available on http://pgpkeys.mit.edu/
> 1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED



-- 
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog

Re: Different bevaviour in 2.0.4

Posted by Frederic Soulier <fr...@wallaby.uklinux.net>.
Hi Dan

A bit more info that can help.

I'm using Spring 2.5.1 and Aegis Data binding. CXF is on both side of  
the wire.

The Spring config I use to set up the client side is as follows:

<?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:jaxws="http://cxf.apache.org/jaxws"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/ 
beans/spring-beans-2.0.xsd
                            http://cxf.apache.org/jaxws
                            http://cxf.apache.org/schema/jaxws.xsd">

     <bean id="soapProxy"  
class="com.surgex.addresslookup.service.IAddressLookupService"  
factory-bean="clientFactory" factory-method="create"/>

	<bean id="clientFactory"  
class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
	  	<property name="serviceClass"  
value="com.surgex.addresslookup.service.IAddressLookupService"/>
	  	<property name="address" value=" http://192.168.10.60:9520/ 
remoting/soap/AddressLookupService"/>
		<property name="serviceFactory">
			<ref bean="jaxws-and-aegis-service-factory"/>
		</property>	
	</bean>
	
	<!-- Aegis is a fast StAX based data-binding that makes developing  
code first services -->
	<!-- as simply as possible. It is able to handle most classes and  
create intelligent   -->
	<!-- schemas for  
them.                                                                  
-->
	<!-- http://cwiki.apache.org/CXF20DOC/aegis- 
databinding.html                           -->
	<bean id="aegisBean"  
class="org.apache.cxf.aegis.databinding.AegisDatabinding"/>
	
	<bean id='jaxws-and-aegis-service-factory'  
class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
		<property name="dataBinding" ref="aegisBean"/>
		<property name="serviceConfigurations">
			<list>
				<bean  
class="org.apache.cxf.jaxws.support.JaxWsServiceConfiguration"/>
				<bean  
class="org.apache.cxf.aegis.databinding.AegisServiceConfiguration"/>
				<bean  
class="org.apache.cxf.service.factory.DefaultServiceConfiguration"/>
			</list>
		</property>
	</bean>
	
</beans>


What do you mean by "wire trace"?
Happy to provide more info though if I can get it.

Thx.


On 1 Feb 2008, at 02:57, Daniel Kulp wrote:

>
> Hmm...   That's really not good.
>
> Is there any chance you can get a wire trace of the test with both  
> 2.0.3
> and 2.0.4?  Is it CXF on both sides of the wire?   There were some
> updates to the fault handling/mapping to make it honor the
> elementFormDefault flags of the schemas.   Thus, the fault messages
> don't match the schema, there could be problems.
>
> Dan
>
> On Thursday 31 January 2008, Frederic Soulier wrote:
>> Hi
>>
>> I've been using 2.0.3 with good success and I decided to upgrade to
>> 2.0.4 this morning.
>> I'm having problem running my tests which are failing now with:
>>
>>   Testcase: test5SoapRemoting
>> (com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest 
>> )
>> : Caused an ERROR
>>      [junit] null while invoking public
>> com.surgex.addresslookup.model.UKAddress[]
>> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.lookup 
>> U
>> K(
>> com.surgex.commons.remoting.model.Credential,java.lang.String,java.ut 
>> i
>> l. Map,boolean) throws
>> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex.c 
>> o
>> mm
>> ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons.r 
>> e
>> mo ting.exceptions.UnauthorisedAccessException with params [null,  
>> null,
>> null, null].
>>      [junit] javax.xml.ws.soap.SOAPFaultException: null while
>> invoking public com.surgex.addresslookup.model.UKAddress[]
>> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.lookup 
>> U
>> K(
>> com.surgex.commons.remoting.model.Credential,java.lang.String,java.ut 
>> i
>> l. Map,boolean) throws
>> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex.c 
>> o
>> mm
>> ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons.r 
>> e
>> mo ting.exceptions.UnauthorisedAccessException with params [null,  
>> null,
>> null, null].
>>      [junit] 	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke
>> (JaxWsClientProxy.java:175)
>>      [junit] 	at $Proxy21.lookupUK(Unknown Source)
>>      [junit] 	at
>> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest. 
>> e
>> xe cuteTests(AddressLookupServiceIntegrationTest.java:217)
>>      [junit] 	at
>> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest. 
>> t
>> es t5SoapRemoting(AddressLookupServiceIntegrationTest.java:158)
>>      [junit] 	at org.springframework.test.ConditionalTestCase.runBare
>> (ConditionalTestCase.java:76)
>>      [junit] Caused by: org.apache.cxf.binding.soap.SoapFault: null
>> while invoking public com.surgex.addresslookup.model.UKAddress[]
>> com.surgex.addresslookup.service.impl.AddressLookupServiceImpl.lookup 
>> U
>> K(
>> com.surgex.commons.remoting.model.Credential,java.lang.String,java.ut 
>> i
>> l. Map,boolean) throws
>> com.surgex.commons.remoting.exceptions.RemotingException,com.surgex.c 
>> o
>> mm
>> ons.remoting.exceptions.InvalidArgumentException,com.surgex.commons.r 
>> e
>> mo ting.exceptions.UnauthorisedAccessException with params [null,  
>> null,
>> null, null].
>>      [junit] 	at
>> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.hand 
>> l
>> eM essage(Soap11FaultInInterceptor.java:70)
>>      [junit] 	at
>> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.hand 
>> l
>> eM essage(Soap11FaultInInterceptor.java:35)
>>      [junit] 	at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
>> (PhaseInterceptorChain.java:208)
>>      [junit] 	at
>> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMess 
>> a
>> ge (AbstractFaultChainInitiatorObserver.java:96)
>>      [junit] 	at
>> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handle 
>> M
>> es sage(ReadHeadersInterceptor.java:183)
>>      [junit] 	at
>> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handle 
>> M
>> es sage(ReadHeadersInterceptor.java:56)
>>      [junit] 	at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
>> (PhaseInterceptorChain.java:208)
>>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.onMessage
>> (ClientImpl.java:429)
>>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit
>> $WrappedOutputStream.handleResponse(HTTPConduit.java:1955)
>>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit
>> $WrappedOutputStream.close(HTTPConduit.java:1791)
>>      [junit] 	at org.apache.cxf.transport.AbstractConduit.close
>> (AbstractConduit.java:66)
>>      [junit] 	at org.apache.cxf.transport.http.HTTPConduit.close
>> (HTTPConduit.java:575)
>>      [junit] 	at org.apache.cxf.interceptor.MessageSenderInterceptor
>> $MessageSenderEndingInterceptor.handleMessage
>> (MessageSenderInterceptor.java:62)
>>      [junit] 	at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
>> (PhaseInterceptorChain.java:208)
>>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.invoke
>> (ClientImpl.java:276)
>>      [junit] 	at org.apache.cxf.endpoint.ClientImpl.invoke
>> (ClientImpl.java:222)
>>      [junit] 	at org.apache.cxf.frontend.ClientProxy.invokeSync
>> (ClientProxy.java:73)
>>      [junit] 	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke
>> (JaxWsClientProxy.java:135)
>>      [junit] Test
>> com.surgex.addresslookup.service.AddressLookupServiceIntegrationTest
>> FAILED
>>
>>
>> If I downgrade the CXF jar file back to 2.0.3 the tests run again.
>>
>> Any idea what I'm missing or what's triggering this behaviour?
>>
>> Thx a lot for any help.
>>
>> --
>> This email is intended for the recipients only and should not be
>> copied, forwarded or otherwise distributed to third parties without
>> the consent of the original author.
>>
>> Frederic Soulier <fr...@cecuregaming.com>
>> Senior Vice-President Casino
>> Cecure Gaming Ltd. 23 Clayton Rd. Hayes. Middlesex. UB3 1AN. United
>> Kingdom
>> (Mob) +44(0)7967966490  (Tel) +44(0)2088171444  (Fax) +44(0) 
>> 2088171240
>> OpenPGP key available on http://www.keyserver.net
>> 1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED
>>
>>
>>
>> _____________________________________________________________________ 
>> _
>> This email is intended for the recipients only and should not be
>> copied, forwarded or otherwise distributed to third parties without
>> the consent of the original author. Cecure Gaming Ltd Registered
>> address: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD.
>> Company Number 4126153
>> _____________________________________________________________________ 
>> _
>
>
>
> -- 
> J. Daniel Kulp
> Principal Engineer, IONA
> dkulp@apache.org
> http://www.dankulp.com/blog

--
Frederic P. Soulier
OpenPGP key available on http://pgpkeys.mit.edu/
1024D/BA6700ED   49A6 8E8E 4230 8D41 1ADE  B649 3203 1DD2 BA67 00ED