OK, to start with, the unhappy HashMap is not such a surprise without
Aegis, as you have to use a type adapter with JAXB to deal with a hash
map.

The IO exception with Aegis -- now -- that's a surprise to me.

You don't want the XFire compatibility service configuration, but it's harmless.

How do you configure your client? Also JAXWS+Aegis, I trust?

I don't suppose you might be willing to try to cook up a test case we
could run and attach it to a JIRA?

I should also say that this is very faintly ringing a bell, and when
Dan sees this thread he might know what is going on. So I hate to ask
you to spend a lot of time on this until he wanders by.

On Fri, May 23, 2008 at 6:58 PM, Kit Plummer <[EMAIL PROTECTED]> wrote:
> Yes, CXF (same version, now 2.1) on both sides.
>
> So, with my config looking like this (notice didn't chance the jaxw:endpoint
> either):
>
> <beans xmlns="http://www.springframework.org/schema/beans";
>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>        xmlns:jaxws="http://cxf.apache.org/jaxws";
>        xmlns:wsa="http://cxf.apache.org/ws/addressing";
>        xsi:schemaLocation="http://www.springframework.org/schema/beans
>
>  http://www.springframework.org/schema/beans/spring-beans.xsd
>                                        http://cxf.apache.org/jaxws
>
>  http://cxf.apache.org/schemas/jaxws.xsd";>
>
>        <import resource="classpath:META-INF/cxf/cxf.xml" />
>        <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
>        <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
>
>        <bean id="aegisBean"
>                class="org.apache.cxf.aegis.databinding.AegisDatabinding"
>                scope="prototype" />
>        <bean id="jaxws-and-aegis-service-factory"
>                class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>                scope="prototype">
>                <property name="dataBinding" ref="aegisBean" />
>                <!-- Use this property only for XFire compatibility -- this
> version for 2.0.x ...
>                        <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>
>                -->
>                <!-- Use this property only for XFire compatibility -- this
> version for 2.1
>                        <property name="serviceConfigurations">
>                        <list>
>                        <bean
> class="org.apache.cxf.jaxws.support.JaxWsServiceConfiguration"/>
>                        <bean
> class="org.apache.cxf.aegis.databinding.XFireCompatibilityServiceConfiguration"/>
>                        <bean
> class="org.apache.cxf.service.factory.DefaultServiceConfiguration"/>
>                        </list>
>                        </property>
>                -->
>        </bean>
>        <jaxws:endpoint id="Controller"
>                implementor="com.accenture.manager.Controller"
> address="/controller" />
>
>        <jaxws:endpoint id="UserSettings"
>
>  implementor="com.accenture.manager.settings.UserSettingsManager"
>                address="/userSettings" />
>
>        <jaxws:endpoint id="GlobalSettings"
>
>  implementor="com.accenture.manager.settings.GlobalSettingsManager"
>                address="/globalSettings">
>
>                <!-- signed and encrypted -->
>                <jaxws:inInterceptors>
>                        <bean
>
>  class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>                        <bean
>
>  class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                                <constructor-arg>
>                                        <map>
>                                                <entry key="action"
> value="Signature" />
>                                                <entry
> key="signaturePropFile"
>
>  value="server-sign.properties" />
>                                        </map>
>                                </constructor-arg>
>                        </bean>
>                </jaxws:inInterceptors>
>
>        </jaxws:endpoint>
> </beans>
>
> I get errors on the client side:
>
> May 23, 2008 3:55:16 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Could not send Message.
>        at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
>        at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
>        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276)
>        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222)
>        at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>        at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:177)
>        at $Proxy31.addSetting(Unknown Source)
>        at
> com.XXXXXXX.nettoolkit.settings.NctGlobalSettings.setSetting(NctGlobalSettings.java:119)
>        at
> com.XXXXXXX.nettoolkit.test.NctGlobalSettingsAcceptanceTest.testGetSetting(NctGlobalSettingsAcceptanceTest.java:68)
>        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 junit.framework.TestCase.runTest(TestCase.java:164)
>        at junit.framework.TestCase.runBare(TestCase.java:130)
>        at junit.framework.TestResult$1.protect(TestResult.java:110)
>        at junit.framework.TestResult.runProtected(TestResult.java:128)
>        at junit.framework.TestResult.run(TestResult.java:113)
>        at junit.framework.TestCase.run(TestCase.java:120)
>        at junit.framework.TestSuite.runTest(TestSuite.java:228)
>        at junit.framework.TestSuite.run(TestSuite.java:223)
>        at
> org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
>        at
> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
>        at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
>        at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
>        at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
>        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.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
>        at
> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
> Caused by: java.io.IOException: /user-manager/services/globalSettings
>        at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1921)
>        at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1824)
>        at
> org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:47)
>        at
> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:159)
>        at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>        at
> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:583)
>        at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>        ... 31 more
>
> Without the aegis beans I don't get any errors, just an empty HashMap.  I
> was trying to use the Aegis data binding to get my HashMap across the wire.
>
> Thanks again.
> Kit
>
> On May 23, 2008, at 3:41 PM, Benson Margulies wrote:
>
>> My first suggestion is to take out all the security stuff and see what
>> happens.
>>
>> Do you have CXFon both ends here?
>>
>> Also, can you tell me more about that awful thing happens when you
>> change the config?
>
>

Reply via email to