You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Rui António da Cruz Pereira <ra...@criticalsoftware.com> on 2008/10/03 18:08:01 UTC

Problem with WS-Security

Hello,
I'm having a problem with ws-security with CXF+Spring+JBoss4.2.1.
The Service works fine without security, it deploys if I add security, 
but when I call the service it gives me a NotImplementedException from 
jbossws.

Here is the server configuration:

<jaxws:endpoint id="example"
        implementor="#exampleWS"
        endpointName="ExampleWSEndpoint"
        serviceName="Example"
        address="/example">
        <jaxws:inInterceptors>
               <ref bean="wss4jInConfiguration"/>
        </jaxws:inInterceptors>
    </jaxws:endpoint>

    <bean id="wss4jInConfiguration" 
class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
        <property name="properties">
            <map>
                <entry key="action" value="UsernameToken"/>
                <entry key="passwordType" value="PasswordDigest" />
                <entry>
                    <key>
                        <value>passwordCallbackRef</value>
                    </key>
                    <ref bean="serverPasswordCallback"/>
                </entry>
            </map>
        </property>
    </bean>

    <bean id="serverPasswordCallback" 
class="com.mycompany.myapp.security.GoCramerPasswordCallback"/>





Here is the client configuration:

    <bean id="exampleWSFactory" 
class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
        <property name="serviceClass" 
value="com.mycompany.myapp.business.webservice.ExampleWS" />
        <property name="address"
                  
value="http://localhost:8080/framework-ws-security/services/example"/>
        <property name="outInterceptors">
            <list>
<!--                <bean 
class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor" />-->
                <ref bean="wss4jOutConfiguration" />
            </list>
        </property>
    </bean>

    <bean id="wss4jOutConfiguration" 
class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
        <property name="properties">
            <map>
                <entry key="action" value="UsernameToken"/>
                <entry key="user" value="ws-client" />
                <entry key="passwordType" value="PasswordDigest" />
                <entry>
                    <key>
                        <value>passwordCallbackRef</value>
                    </key>
                    <ref bean="clientPasswordCallback"/>
                </entry>
            </map>
        </property>
    </bean>

    <bean id="clientPasswordCallback" 
class="com.mycompany.myapp.security.ClientPasswordCallback"/>
   
    <!-- Web service dynamic proxy -->
    <bean id="exampleWSProxy"
          class="com.mycompany.myapp.business.webservice.ExampleWS"
          factory-bean="exampleWSFactory"
          factory-method="create"/>





And here the exception:

17:06:00,350 ERROR [STDERR] 3/Out/2008 17:06:00 
org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.jboss.util.NotImplementedException
        at 
org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:298)
        at 
org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWriter.java:81)
        at 
org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMStreamWriter.java:98)
        at 
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEnvelopeStart(SoapOutInterceptor.java:95)
        at 
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:76)
        at 
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:57)
        at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242)
        at 
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
        at 
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178)
        at $Proxy98.executeTest(Unknown Source)
        at 
com.mycompany.myapp.business.ExampleServiceImpl.getExamples(ExampleServiceImpl.java:51)
        at 
com.mycompany.myapp.presentation.action.TestActionBean.afterMethodCall(TestActionBean.java:181)
        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:597)
        at 
net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.invoke(BeforeAfterMethodInterceptor.java:154)
        at 
net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:129)
        at 
net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155)
        at 
net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:74)
        at 
net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler(DispatcherHelper.java:440)
        at 
net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandler(DispatcherServlet.java:285)
        at 
net.sourceforge.stripes.controller.DispatcherServlet.doPost(DispatcherServlet.java:167)
        at 
net.sourceforge.stripes.controller.DispatcherServlet.doGet(DispatcherServlet.java:67)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:246)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
        at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at 
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
17:06:00,444 WARN  [DefaultExceptionHandler] Unhandled exception caught 
by the Stripes default exception handler.
javax.xml.ws.soap.SOAPFaultException
        at 
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:199)
        at $Proxy98.executeTest(Unknown Source)
        at 
com.mycompany.myapp.business.ExampleServiceImpl.getExamples(ExampleServiceImpl.java:51)
        at 
com.mycompany.myapp.presentation.action.TestActionBean.afterMethodCall(TestActionBean.java:181)
        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:597)
        at 
net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.invoke(BeforeAfterMethodInterceptor.java:154)
        at 
net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:129)
        at 
net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155)
        at 
net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:74)
        at 
net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler(DispatcherHelper.java:440)
        at 
net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandler(DispatcherServlet.java:285)
        at 
net.sourceforge.stripes.controller.DispatcherServlet.doPost(DispatcherServlet.java:167)
        at 
net.sourceforge.stripes.controller.DispatcherServlet.doGet(DispatcherServlet.java:67)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:246)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
        at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at 
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
Caused by: org.jboss.util.NotImplementedException
        at 
org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:298)
        at 
org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWriter.java:81)
        at 
org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMStreamWriter.java:98)
        at 
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEnvelopeStart(SoapOutInterceptor.java:95)
        at 
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:76)
        at 
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:57)
        at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242)
        at 
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
        at 
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178)
        ... 38 more
17:06:00,444 ERROR [[StripesDispatcher]] Servlet.service() for servlet 
StripesDispatcher threw exception
org.jboss.util.NotImplementedException
        at 
org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:298)
        at 
org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWriter.java:81)
        at 
org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMStreamWriter.java:98)
        at 
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEnvelopeStart(SoapOutInterceptor.java:95)
        at 
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:76)
        at 
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:57)
        at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242)
        at 
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
        at 
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178)
        at $Proxy98.executeTest(Unknown Source)
        at 
com.mycompany.myapp.business.ExampleServiceImpl.getExamples(ExampleServiceImpl.java:51)
        at 
com.mycompany.myapp.presentation.action.TestActionBean.afterMethodCall(TestActionBean.java:181)
        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:597)
        at 
net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.invoke(BeforeAfterMethodInterceptor.java:154)
        at 
net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:129)
        at 
net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155)
        at 
net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:74)
        at 
net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler(DispatcherHelper.java:440)
        at 
net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandler(DispatcherServlet.java:285)
        at 
net.sourceforge.stripes.controller.DispatcherServlet.doPost(DispatcherServlet.java:167)
        at 
net.sourceforge.stripes.controller.DispatcherServlet.doGet(DispatcherServlet.java:67)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:246)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
        at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at 
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)

Re: Problem with WS-Security

Posted by Rui António da Cruz Pereira <ra...@criticalsoftware.com>.
Oh I forgot to say that I'm using CXF 2.1.2!

Rui António da Cruz Pereira wrote:
> Hello,
> I'm having a problem with ws-security with CXF+Spring+JBoss4.2.1.
> The Service works fine without security, it deploys if I add security, 
> but when I call the service it gives me a NotImplementedException from 
> jbossws.
>
> Here is the server configuration:
>
> <jaxws:endpoint id="example"
>        implementor="#exampleWS"
>        endpointName="ExampleWSEndpoint"
>        serviceName="Example"
>        address="/example">
>        <jaxws:inInterceptors>
>               <ref bean="wss4jInConfiguration"/>
>        </jaxws:inInterceptors>
>    </jaxws:endpoint>
>
>    <bean id="wss4jInConfiguration" 
> class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>        <property name="properties">
>            <map>
>                <entry key="action" value="UsernameToken"/>
>                <entry key="passwordType" value="PasswordDigest" />
>                <entry>
>                    <key>
>                        <value>passwordCallbackRef</value>
>                    </key>
>                    <ref bean="serverPasswordCallback"/>
>                </entry>
>            </map>
>        </property>
>    </bean>
>
>    <bean id="serverPasswordCallback" 
> class="com.mycompany.myapp.security.GoCramerPasswordCallback"/>
>
>
>
>
>
> Here is the client configuration:
>
>    <bean id="exampleWSFactory" 
> class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
>        <property name="serviceClass" 
> value="com.mycompany.myapp.business.webservice.ExampleWS" />
>        <property name="address"
>                  
> value="http://localhost:8080/framework-ws-security/services/example"/>
>        <property name="outInterceptors">
>            <list>
> <!--                <bean 
> class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor" />-->
>                <ref bean="wss4jOutConfiguration" />
>            </list>
>        </property>
>    </bean>
>
>    <bean id="wss4jOutConfiguration" 
> class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
>        <property name="properties">
>            <map>
>                <entry key="action" value="UsernameToken"/>
>                <entry key="user" value="ws-client" />
>                <entry key="passwordType" value="PasswordDigest" />
>                <entry>
>                    <key>
>                        <value>passwordCallbackRef</value>
>                    </key>
>                    <ref bean="clientPasswordCallback"/>
>                </entry>
>            </map>
>        </property>
>    </bean>
>
>    <bean id="clientPasswordCallback" 
> class="com.mycompany.myapp.security.ClientPasswordCallback"/>
>      <!-- Web service dynamic proxy -->
>    <bean id="exampleWSProxy"
>          class="com.mycompany.myapp.business.webservice.ExampleWS"
>          factory-bean="exampleWSFactory"
>          factory-method="create"/>
>
>
>
>
>
> And here the exception:
>
> 17:06:00,350 ERROR [STDERR] 3/Out/2008 17:06:00 
> org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.jboss.util.NotImplementedException
>        at 
> org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:298)
>        at 
> org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWriter.java:81) 
>
>        at 
> org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMStreamWriter.java:98) 
>
>        at 
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEnvelopeStart(SoapOutInterceptor.java:95) 
>
>        at 
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:76) 
>
>        at 
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:57) 
>
>        at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220) 
>
>        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296)
>        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242)
>        at 
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>        at 
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178)
>        at $Proxy98.executeTest(Unknown Source)
>        at 
> com.mycompany.myapp.business.ExampleServiceImpl.getExamples(ExampleServiceImpl.java:51) 
>
>        at 
> com.mycompany.myapp.presentation.action.TestActionBean.afterMethodCall(TestActionBean.java:181) 
>
>        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:597)
>        at 
> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.invoke(BeforeAfterMethodInterceptor.java:154) 
>
>        at 
> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:129) 
>
>        at 
> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155) 
>
>        at 
> net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:74) 
>
>        at 
> net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler(DispatcherHelper.java:440) 
>
>        at 
> net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandler(DispatcherServlet.java:285) 
>
>        at 
> net.sourceforge.stripes.controller.DispatcherServlet.doPost(DispatcherServlet.java:167) 
>
>        at 
> net.sourceforge.stripes.controller.DispatcherServlet.doGet(DispatcherServlet.java:67) 
>
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>        at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
>
>        at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
>
>        at 
> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:246) 
>
>        at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
>
>        at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
>
>        at 
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
>
>        at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
>
>        at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
>
>        at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) 
>
>        at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
>
>        at 
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) 
>
>        at 
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) 
>
>        at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
>
>        at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) 
>
>        at 
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) 
>
>        at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
>
>        at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241) 
>
>        at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 
>
>        at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580) 
>
>        at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>        at java.lang.Thread.run(Thread.java:619)
> 17:06:00,444 WARN  [DefaultExceptionHandler] Unhandled exception 
> caught by the Stripes default exception handler.
> javax.xml.ws.soap.SOAPFaultException
>        at 
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:199)
>        at $Proxy98.executeTest(Unknown Source)
>        at 
> com.mycompany.myapp.business.ExampleServiceImpl.getExamples(ExampleServiceImpl.java:51) 
>
>        at 
> com.mycompany.myapp.presentation.action.TestActionBean.afterMethodCall(TestActionBean.java:181) 
>
>        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:597)
>        at 
> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.invoke(BeforeAfterMethodInterceptor.java:154) 
>
>        at 
> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:129) 
>
>        at 
> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155) 
>
>        at 
> net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:74) 
>
>        at 
> net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler(DispatcherHelper.java:440) 
>
>        at 
> net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandler(DispatcherServlet.java:285) 
>
>        at 
> net.sourceforge.stripes.controller.DispatcherServlet.doPost(DispatcherServlet.java:167) 
>
>        at 
> net.sourceforge.stripes.controller.DispatcherServlet.doGet(DispatcherServlet.java:67) 
>
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>        at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
>
>        at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
>
>        at 
> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:246) 
>
>        at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
>
>        at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
>
>        at 
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
>
>        at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
>
>        at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
>
>        at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) 
>
>        at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
>
>        at 
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) 
>
>        at 
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) 
>
>        at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
>
>        at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) 
>
>        at 
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) 
>
>        at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
>
>        at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241) 
>
>        at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 
>
>        at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580) 
>
>        at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>        at java.lang.Thread.run(Thread.java:619)
> Caused by: org.jboss.util.NotImplementedException
>        at 
> org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:298)
>        at 
> org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWriter.java:81) 
>
>        at 
> org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMStreamWriter.java:98) 
>
>        at 
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEnvelopeStart(SoapOutInterceptor.java:95) 
>
>        at 
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:76) 
>
>        at 
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:57) 
>
>        at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220) 
>
>        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296)
>        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242)
>        at 
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>        at 
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178)
>        ... 38 more
> 17:06:00,444 ERROR [[StripesDispatcher]] Servlet.service() for servlet 
> StripesDispatcher threw exception
> org.jboss.util.NotImplementedException
>        at 
> org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:298)
>        at 
> org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWriter.java:81) 
>
>        at 
> org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMStreamWriter.java:98) 
>
>        at 
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEnvelopeStart(SoapOutInterceptor.java:95) 
>
>        at 
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:76) 
>
>        at 
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:57) 
>
>        at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220) 
>
>        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296)
>        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242)
>        at 
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>        at 
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178)
>        at $Proxy98.executeTest(Unknown Source)
>        at 
> com.mycompany.myapp.business.ExampleServiceImpl.getExamples(ExampleServiceImpl.java:51) 
>
>        at 
> com.mycompany.myapp.presentation.action.TestActionBean.afterMethodCall(TestActionBean.java:181) 
>
>        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:597)
>        at 
> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.invoke(BeforeAfterMethodInterceptor.java:154) 
>
>        at 
> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:129) 
>
>        at 
> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155) 
>
>        at 
> net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:74) 
>
>        at 
> net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler(DispatcherHelper.java:440) 
>
>        at 
> net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandler(DispatcherServlet.java:285) 
>
>        at 
> net.sourceforge.stripes.controller.DispatcherServlet.doPost(DispatcherServlet.java:167) 
>
>        at 
> net.sourceforge.stripes.controller.DispatcherServlet.doGet(DispatcherServlet.java:67) 
>
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>        at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
>
>        at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
>
>        at 
> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:246) 
>
>        at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
>
>        at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
>
>        at 
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
>
>        at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
>
>        at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
>
>        at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) 
>
>        at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
>
>        at 
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) 
>
>        at 
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) 
>
>        at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
>
>        at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) 
>
>        at 
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) 
>
>        at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
>
>        at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241) 
>
>        at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 
>
>        at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580) 
>
>        at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>        at java.lang.Thread.run(Thread.java:619)
>


Re: Problem with WS-Security

Posted by Rui António da Cruz Pereira <ra...@criticalsoftware.com>.
Hello everybody,
Has anyone been able to get CXF, JDK1.6 and JBoss to work with WS-Security?
Thanks
    Rui Pereira

Rui António da Cruz Pereira wrote:
> I am using jdk1.6 and this version comes with SAAJ included. If I 
> don't add jboss-saaj.jar to the endorsed folder in jboss lib folder it 
> will use the jdk version, witch is the latest.
> I happens, if I don't include the jboss SAAJ implementation in the 
> endorsed folder, a different Exception is thrown:
>        java.lang.UnsupportedOperationException: setProperty must be 
> overridden by all subclasses of SOAPMessage
>        at javax.xml.soap.SOAPMessage.setProperty(SOAPMessage.java:424)
>
> Daniel Kulp wrote:
>> The JBoss version of saaj is too old.   They may have instructions 
>> someplace on how to use a newer version of SAAJ or how to use the Sun 
>> version we ship to override their version or something. 
>> Dan
>>
>>
>> On Friday 03 October 2008, Rui António da Cruz Pereira wrote:
>>  
>>> Hello,
>>> I'm having a problem with ws-security with CXF+Spring+JBoss4.2.1.
>>> The Service works fine without security, it deploys if I add security,
>>> but when I call the service it gives me a NotImplementedException from
>>> jbossws.
>>>
>>> Here is the server configuration:
>>>
>>> <jaxws:endpoint id="example"
>>>         implementor="#exampleWS"
>>>         endpointName="ExampleWSEndpoint"
>>>         serviceName="Example"
>>>         address="/example">
>>>         <jaxws:inInterceptors>
>>>                <ref bean="wss4jInConfiguration"/>
>>>         </jaxws:inInterceptors>
>>>     </jaxws:endpoint>
>>>
>>>     <bean id="wss4jInConfiguration"
>>> class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>>>         <property name="properties">
>>>             <map>
>>>                 <entry key="action" value="UsernameToken"/>
>>>                 <entry key="passwordType" value="PasswordDigest" />
>>>                 <entry>
>>>                     <key>
>>>                         <value>passwordCallbackRef</value>
>>>                     </key>
>>>                     <ref bean="serverPasswordCallback"/>
>>>                 </entry>
>>>             </map>
>>>         </property>
>>>     </bean>
>>>
>>>     <bean id="serverPasswordCallback"
>>> class="com.mycompany.myapp.security.GoCramerPasswordCallback"/>
>>>
>>>
>>>
>>>
>>>
>>> Here is the client configuration:
>>>
>>>     <bean id="exampleWSFactory"
>>> class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
>>>         <property name="serviceClass"
>>> value="com.mycompany.myapp.business.webservice.ExampleWS" />
>>>         <property name="address"
>>>
>>> value="http://localhost:8080/framework-ws-security/services/example"/>
>>>         <property name="outInterceptors">
>>>             <list>
>>> <!--                <bean
>>> class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor" />-->
>>>                 <ref bean="wss4jOutConfiguration" />
>>>             </list>
>>>         </property>
>>>     </bean>
>>>
>>>     <bean id="wss4jOutConfiguration"
>>> class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
>>>         <property name="properties">
>>>             <map>
>>>                 <entry key="action" value="UsernameToken"/>
>>>                 <entry key="user" value="ws-client" />
>>>                 <entry key="passwordType" value="PasswordDigest" />
>>>                 <entry>
>>>                     <key>
>>>                         <value>passwordCallbackRef</value>
>>>                     </key>
>>>                     <ref bean="clientPasswordCallback"/>
>>>                 </entry>
>>>             </map>
>>>         </property>
>>>     </bean>
>>>
>>>     <bean id="clientPasswordCallback"
>>> class="com.mycompany.myapp.security.ClientPasswordCallback"/>
>>>
>>>     <!-- Web service dynamic proxy -->
>>>     <bean id="exampleWSProxy"
>>>           class="com.mycompany.myapp.business.webservice.ExampleWS"
>>>           factory-bean="exampleWSFactory"
>>>           factory-method="create"/>
>>>
>>>
>>>
>>>
>>>
>>> And here the exception:
>>>
>>> 17:06:00,350 ERROR [STDERR] 3/Out/2008 17:06:00
>>> org.apache.cxf.phase.PhaseInterceptorChain doIntercept
>>> INFO: Interceptor has thrown exception, unwinding now
>>> org.jboss.util.NotImplementedException
>>>         at
>>> org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:298)
>>>         at
>>> org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWrite
>>> r.java:81) at
>>> org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMSt
>>> reamWriter.java:98) at
>>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEn
>>> velopeStart(SoapOutInterceptor.java:95) at
>>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>>> ge(SoapOutInterceptor.java:76) at
>>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>>> ge(SoapOutInterceptor.java:57) at
>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>>> rChain.java:220) at
>>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296) at
>>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242) at
>>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>>>         at
>>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178
>>> ) at $Proxy98.executeTest(Unknown Source)
>>>         at
>>> com.mycompany.myapp.business.ExampleServiceImpl.getExamples(ExampleSer
>>> viceImpl.java:51) at
>>> com.mycompany.myapp.presentation.action.TestActionBean.afterMethodCall
>>> (TestActionBean.java:181) at
>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
>>> ava:39) at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
>>> orImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
>>>         at
>>> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.invoke
>>> (BeforeAfterMethodInterceptor.java:154) at
>>> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.interc
>>> ept(BeforeAfterMethodInterceptor.java:129) at
>>> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionC
>>> ontext.java:155) at
>>> net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionCont
>>> ext.java:74) at
>>> net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler
>>> (DispatcherHelper.java:440) at
>>> net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandle
>>> r(DispatcherServlet.java:285) at
>>> net.sourceforge.stripes.controller.DispatcherServlet.doPost(Dispatcher
>>> Servlet.java:167) at
>>> net.sourceforge.stripes.controller.DispatcherServlet.doGet(DispatcherS
>>> ervlet.java:67) at
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>>> cationFilterChain.java:290) at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>>> lterChain.java:206) at
>>> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilte
>>> r.java:246) at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>>> cationFilterChain.java:235) at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>>> lterChain.java:206) at
>>> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFil
>>> ter.java:96) at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>>> cationFilterChain.java:235) at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>>> lterChain.java:206) at
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
>>> lve.java:230) at
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
>>> lve.java:175) at
>>> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Security
>>> AssociationValve.java:179) at
>>> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve
>>> .java:84) at
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
>>> va:128) at
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
>>> va:104) at
>>> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedCo
>>> nnectionValve.java:157) at
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
>>> e.java:109) at
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
>>> :241) at
>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>>> 844) at
>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
>>> s(Http11Protocol.java:580) at
>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447
>>> ) at java.lang.Thread.run(Thread.java:619)
>>> 17:06:00,444 WARN  [DefaultExceptionHandler] Unhandled exception
>>> caught by the Stripes default exception handler.
>>> javax.xml.ws.soap.SOAPFaultException
>>>         at
>>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:199
>>> ) at $Proxy98.executeTest(Unknown Source)
>>>         at
>>> com.mycompany.myapp.business.ExampleServiceImpl.getExamples(ExampleSer
>>> viceImpl.java:51) at
>>> com.mycompany.myapp.presentation.action.TestActionBean.afterMethodCall
>>> (TestActionBean.java:181) at
>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
>>> ava:39) at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
>>> orImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
>>>         at
>>> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.invoke
>>> (BeforeAfterMethodInterceptor.java:154) at
>>> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.interc
>>> ept(BeforeAfterMethodInterceptor.java:129) at
>>> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionC
>>> ontext.java:155) at
>>> net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionCont
>>> ext.java:74) at
>>> net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler
>>> (DispatcherHelper.java:440) at
>>> net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandle
>>> r(DispatcherServlet.java:285) at
>>> net.sourceforge.stripes.controller.DispatcherServlet.doPost(Dispatcher
>>> Servlet.java:167) at
>>> net.sourceforge.stripes.controller.DispatcherServlet.doGet(DispatcherS
>>> ervlet.java:67) at
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>>> cationFilterChain.java:290) at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>>> lterChain.java:206) at
>>> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilte
>>> r.java:246) at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>>> cationFilterChain.java:235) at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>>> lterChain.java:206) at
>>> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFil
>>> ter.java:96) at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>>> cationFilterChain.java:235) at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>>> lterChain.java:206) at
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
>>> lve.java:230) at
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
>>> lve.java:175) at
>>> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Security
>>> AssociationValve.java:179) at
>>> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve
>>> .java:84) at
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
>>> va:128) at
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
>>> va:104) at
>>> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedCo
>>> nnectionValve.java:157) at
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
>>> e.java:109) at
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
>>> :241) at
>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>>> 844) at
>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
>>> s(Http11Protocol.java:580) at
>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447
>>> ) at java.lang.Thread.run(Thread.java:619)
>>> Caused by: org.jboss.util.NotImplementedException
>>>         at
>>> org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:298)
>>>         at
>>> org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWrite
>>> r.java:81) at
>>> org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMSt
>>> reamWriter.java:98) at
>>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEn
>>> velopeStart(SoapOutInterceptor.java:95) at
>>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>>> ge(SoapOutInterceptor.java:76) at
>>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>>> ge(SoapOutInterceptor.java:57) at
>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>>> rChain.java:220) at
>>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296) at
>>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242) at
>>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>>>         at
>>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178
>>> ) ... 38 more
>>> 17:06:00,444 ERROR [[StripesDispatcher]] Servlet.service() for servlet
>>> StripesDispatcher threw exception
>>> org.jboss.util.NotImplementedException
>>>         at
>>> org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:298)
>>>         at
>>> org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWrite
>>> r.java:81) at
>>> org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMSt
>>> reamWriter.java:98) at
>>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEn
>>> velopeStart(SoapOutInterceptor.java:95) at
>>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>>> ge(SoapOutInterceptor.java:76) at
>>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>>> ge(SoapOutInterceptor.java:57) at
>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>>> rChain.java:220) at
>>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296) at
>>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242) at
>>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>>>         at
>>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178
>>> ) at $Proxy98.executeTest(Unknown Source)
>>>         at
>>> com.mycompany.myapp.business.ExampleServiceImpl.getExamples(ExampleSer
>>> viceImpl.java:51) at
>>> com.mycompany.myapp.presentation.action.TestActionBean.afterMethodCall
>>> (TestActionBean.java:181) at
>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
>>> ava:39) at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
>>> orImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
>>>         at
>>> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.invoke
>>> (BeforeAfterMethodInterceptor.java:154) at
>>> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.interc
>>> ept(BeforeAfterMethodInterceptor.java:129) at
>>> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionC
>>> ontext.java:155) at
>>> net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionCont
>>> ext.java:74) at
>>> net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler
>>> (DispatcherHelper.java:440) at
>>> net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandle
>>> r(DispatcherServlet.java:285) at
>>> net.sourceforge.stripes.controller.DispatcherServlet.doPost(Dispatcher
>>> Servlet.java:167) at
>>> net.sourceforge.stripes.controller.DispatcherServlet.doGet(DispatcherS
>>> ervlet.java:67) at
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>>> cationFilterChain.java:290) at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>>> lterChain.java:206) at
>>> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilte
>>> r.java:246) at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>>> cationFilterChain.java:235) at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>>> lterChain.java:206) at
>>> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFil
>>> ter.java:96) at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>>> cationFilterChain.java:235) at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>>> lterChain.java:206) at
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
>>> lve.java:230) at
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
>>> lve.java:175) at
>>> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Security
>>> AssociationValve.java:179) at
>>> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve
>>> .java:84) at
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
>>> va:128) at
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
>>> va:104) at
>>> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedCo
>>> nnectionValve.java:157) at
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
>>> e.java:109) at
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
>>> :241) at
>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>>> 844) at
>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
>>> s(Http11Protocol.java:580) at
>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447
>>> ) at java.lang.Thread.run(Thread.java:619)
>>>     
>>
>>
>>
>>   
>
>


Re: Problem with WS-Security

Posted by Rui António da Cruz Pereira <ra...@criticalsoftware.com>.
I am using jdk1.6 and this version comes with SAAJ included. If I don't 
add jboss-saaj.jar to the endorsed folder in jboss lib folder it will 
use the jdk version, witch is the latest.
I happens, if I don't include the jboss SAAJ implementation in the 
endorsed folder, a different Exception is thrown:
        java.lang.UnsupportedOperationException: setProperty must be 
overridden by all subclasses of SOAPMessage
        at javax.xml.soap.SOAPMessage.setProperty(SOAPMessage.java:424)

Daniel Kulp wrote:
> The JBoss version of saaj is too old.   They may have instructions 
> someplace on how to use a newer version of SAAJ or how to use the Sun 
> version we ship to override their version or something.  
>
> Dan
>
>
> On Friday 03 October 2008, Rui António da Cruz Pereira wrote:
>   
>> Hello,
>> I'm having a problem with ws-security with CXF+Spring+JBoss4.2.1.
>> The Service works fine without security, it deploys if I add security,
>> but when I call the service it gives me a NotImplementedException from
>> jbossws.
>>
>> Here is the server configuration:
>>
>> <jaxws:endpoint id="example"
>>         implementor="#exampleWS"
>>         endpointName="ExampleWSEndpoint"
>>         serviceName="Example"
>>         address="/example">
>>         <jaxws:inInterceptors>
>>                <ref bean="wss4jInConfiguration"/>
>>         </jaxws:inInterceptors>
>>     </jaxws:endpoint>
>>
>>     <bean id="wss4jInConfiguration"
>> class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>>         <property name="properties">
>>             <map>
>>                 <entry key="action" value="UsernameToken"/>
>>                 <entry key="passwordType" value="PasswordDigest" />
>>                 <entry>
>>                     <key>
>>                         <value>passwordCallbackRef</value>
>>                     </key>
>>                     <ref bean="serverPasswordCallback"/>
>>                 </entry>
>>             </map>
>>         </property>
>>     </bean>
>>
>>     <bean id="serverPasswordCallback"
>> class="com.mycompany.myapp.security.GoCramerPasswordCallback"/>
>>
>>
>>
>>
>>
>> Here is the client configuration:
>>
>>     <bean id="exampleWSFactory"
>> class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
>>         <property name="serviceClass"
>> value="com.mycompany.myapp.business.webservice.ExampleWS" />
>>         <property name="address"
>>
>> value="http://localhost:8080/framework-ws-security/services/example"/>
>>         <property name="outInterceptors">
>>             <list>
>> <!--                <bean
>> class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor" />-->
>>                 <ref bean="wss4jOutConfiguration" />
>>             </list>
>>         </property>
>>     </bean>
>>
>>     <bean id="wss4jOutConfiguration"
>> class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
>>         <property name="properties">
>>             <map>
>>                 <entry key="action" value="UsernameToken"/>
>>                 <entry key="user" value="ws-client" />
>>                 <entry key="passwordType" value="PasswordDigest" />
>>                 <entry>
>>                     <key>
>>                         <value>passwordCallbackRef</value>
>>                     </key>
>>                     <ref bean="clientPasswordCallback"/>
>>                 </entry>
>>             </map>
>>         </property>
>>     </bean>
>>
>>     <bean id="clientPasswordCallback"
>> class="com.mycompany.myapp.security.ClientPasswordCallback"/>
>>
>>     <!-- Web service dynamic proxy -->
>>     <bean id="exampleWSProxy"
>>           class="com.mycompany.myapp.business.webservice.ExampleWS"
>>           factory-bean="exampleWSFactory"
>>           factory-method="create"/>
>>
>>
>>
>>
>>
>> And here the exception:
>>
>> 17:06:00,350 ERROR [STDERR] 3/Out/2008 17:06:00
>> org.apache.cxf.phase.PhaseInterceptorChain doIntercept
>> INFO: Interceptor has thrown exception, unwinding now
>> org.jboss.util.NotImplementedException
>>         at
>> org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:298)
>>         at
>> org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWrite
>> r.java:81) at
>> org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMSt
>> reamWriter.java:98) at
>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEn
>> velopeStart(SoapOutInterceptor.java:95) at
>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>> ge(SoapOutInterceptor.java:76) at
>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>> ge(SoapOutInterceptor.java:57) at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>> rChain.java:220) at
>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296) at
>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242) at
>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>>         at
>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178
>> ) at $Proxy98.executeTest(Unknown Source)
>>         at
>> com.mycompany.myapp.business.ExampleServiceImpl.getExamples(ExampleSer
>> viceImpl.java:51) at
>> com.mycompany.myapp.presentation.action.TestActionBean.afterMethodCall
>> (TestActionBean.java:181) at
>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
>> ava:39) at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
>> orImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
>>         at
>> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.invoke
>> (BeforeAfterMethodInterceptor.java:154) at
>> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.interc
>> ept(BeforeAfterMethodInterceptor.java:129) at
>> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionC
>> ontext.java:155) at
>> net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionCont
>> ext.java:74) at
>> net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler
>> (DispatcherHelper.java:440) at
>> net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandle
>> r(DispatcherServlet.java:285) at
>> net.sourceforge.stripes.controller.DispatcherServlet.doPost(Dispatcher
>> Servlet.java:167) at
>> net.sourceforge.stripes.controller.DispatcherServlet.doGet(DispatcherS
>> ervlet.java:67) at
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>> cationFilterChain.java:290) at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>> lterChain.java:206) at
>> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilte
>> r.java:246) at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>> cationFilterChain.java:235) at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>> lterChain.java:206) at
>> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFil
>> ter.java:96) at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>> cationFilterChain.java:235) at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>> lterChain.java:206) at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
>> lve.java:230) at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
>> lve.java:175) at
>> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Security
>> AssociationValve.java:179) at
>> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve
>> .java:84) at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
>> va:128) at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
>> va:104) at
>> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedCo
>> nnectionValve.java:157) at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
>> e.java:109) at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
>> :241) at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>> 844) at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
>> s(Http11Protocol.java:580) at
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447
>> ) at java.lang.Thread.run(Thread.java:619)
>> 17:06:00,444 WARN  [DefaultExceptionHandler] Unhandled exception
>> caught by the Stripes default exception handler.
>> javax.xml.ws.soap.SOAPFaultException
>>         at
>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:199
>> ) at $Proxy98.executeTest(Unknown Source)
>>         at
>> com.mycompany.myapp.business.ExampleServiceImpl.getExamples(ExampleSer
>> viceImpl.java:51) at
>> com.mycompany.myapp.presentation.action.TestActionBean.afterMethodCall
>> (TestActionBean.java:181) at
>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
>> ava:39) at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
>> orImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
>>         at
>> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.invoke
>> (BeforeAfterMethodInterceptor.java:154) at
>> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.interc
>> ept(BeforeAfterMethodInterceptor.java:129) at
>> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionC
>> ontext.java:155) at
>> net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionCont
>> ext.java:74) at
>> net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler
>> (DispatcherHelper.java:440) at
>> net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandle
>> r(DispatcherServlet.java:285) at
>> net.sourceforge.stripes.controller.DispatcherServlet.doPost(Dispatcher
>> Servlet.java:167) at
>> net.sourceforge.stripes.controller.DispatcherServlet.doGet(DispatcherS
>> ervlet.java:67) at
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>> cationFilterChain.java:290) at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>> lterChain.java:206) at
>> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilte
>> r.java:246) at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>> cationFilterChain.java:235) at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>> lterChain.java:206) at
>> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFil
>> ter.java:96) at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>> cationFilterChain.java:235) at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>> lterChain.java:206) at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
>> lve.java:230) at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
>> lve.java:175) at
>> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Security
>> AssociationValve.java:179) at
>> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve
>> .java:84) at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
>> va:128) at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
>> va:104) at
>> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedCo
>> nnectionValve.java:157) at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
>> e.java:109) at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
>> :241) at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>> 844) at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
>> s(Http11Protocol.java:580) at
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447
>> ) at java.lang.Thread.run(Thread.java:619)
>> Caused by: org.jboss.util.NotImplementedException
>>         at
>> org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:298)
>>         at
>> org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWrite
>> r.java:81) at
>> org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMSt
>> reamWriter.java:98) at
>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEn
>> velopeStart(SoapOutInterceptor.java:95) at
>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>> ge(SoapOutInterceptor.java:76) at
>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>> ge(SoapOutInterceptor.java:57) at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>> rChain.java:220) at
>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296) at
>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242) at
>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>>         at
>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178
>> ) ... 38 more
>> 17:06:00,444 ERROR [[StripesDispatcher]] Servlet.service() for servlet
>> StripesDispatcher threw exception
>> org.jboss.util.NotImplementedException
>>         at
>> org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:298)
>>         at
>> org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWrite
>> r.java:81) at
>> org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMSt
>> reamWriter.java:98) at
>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEn
>> velopeStart(SoapOutInterceptor.java:95) at
>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>> ge(SoapOutInterceptor.java:76) at
>> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>> ge(SoapOutInterceptor.java:57) at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>> rChain.java:220) at
>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296) at
>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242) at
>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>>         at
>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178
>> ) at $Proxy98.executeTest(Unknown Source)
>>         at
>> com.mycompany.myapp.business.ExampleServiceImpl.getExamples(ExampleSer
>> viceImpl.java:51) at
>> com.mycompany.myapp.presentation.action.TestActionBean.afterMethodCall
>> (TestActionBean.java:181) at
>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
>> ava:39) at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
>> orImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
>>         at
>> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.invoke
>> (BeforeAfterMethodInterceptor.java:154) at
>> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.interc
>> ept(BeforeAfterMethodInterceptor.java:129) at
>> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionC
>> ontext.java:155) at
>> net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionCont
>> ext.java:74) at
>> net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler
>> (DispatcherHelper.java:440) at
>> net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandle
>> r(DispatcherServlet.java:285) at
>> net.sourceforge.stripes.controller.DispatcherServlet.doPost(Dispatcher
>> Servlet.java:167) at
>> net.sourceforge.stripes.controller.DispatcherServlet.doGet(DispatcherS
>> ervlet.java:67) at
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>> cationFilterChain.java:290) at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>> lterChain.java:206) at
>> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilte
>> r.java:246) at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>> cationFilterChain.java:235) at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>> lterChain.java:206) at
>> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFil
>> ter.java:96) at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>> cationFilterChain.java:235) at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>> lterChain.java:206) at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
>> lve.java:230) at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
>> lve.java:175) at
>> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Security
>> AssociationValve.java:179) at
>> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve
>> .java:84) at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
>> va:128) at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
>> va:104) at
>> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedCo
>> nnectionValve.java:157) at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
>> e.java:109) at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
>> :241) at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>> 844) at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
>> s(Http11Protocol.java:580) at
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447
>> ) at java.lang.Thread.run(Thread.java:619)
>>     
>
>
>
>   


Re: Problem with WS-Security

Posted by Daniel Kulp <dk...@apache.org>.
The JBoss version of saaj is too old.   They may have instructions 
someplace on how to use a newer version of SAAJ or how to use the Sun 
version we ship to override their version or something.  

Dan


On Friday 03 October 2008, Rui António da Cruz Pereira wrote:
> Hello,
> I'm having a problem with ws-security with CXF+Spring+JBoss4.2.1.
> The Service works fine without security, it deploys if I add security,
> but when I call the service it gives me a NotImplementedException from
> jbossws.
>
> Here is the server configuration:
>
> <jaxws:endpoint id="example"
>         implementor="#exampleWS"
>         endpointName="ExampleWSEndpoint"
>         serviceName="Example"
>         address="/example">
>         <jaxws:inInterceptors>
>                <ref bean="wss4jInConfiguration"/>
>         </jaxws:inInterceptors>
>     </jaxws:endpoint>
>
>     <bean id="wss4jInConfiguration"
> class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>         <property name="properties">
>             <map>
>                 <entry key="action" value="UsernameToken"/>
>                 <entry key="passwordType" value="PasswordDigest" />
>                 <entry>
>                     <key>
>                         <value>passwordCallbackRef</value>
>                     </key>
>                     <ref bean="serverPasswordCallback"/>
>                 </entry>
>             </map>
>         </property>
>     </bean>
>
>     <bean id="serverPasswordCallback"
> class="com.mycompany.myapp.security.GoCramerPasswordCallback"/>
>
>
>
>
>
> Here is the client configuration:
>
>     <bean id="exampleWSFactory"
> class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
>         <property name="serviceClass"
> value="com.mycompany.myapp.business.webservice.ExampleWS" />
>         <property name="address"
>
> value="http://localhost:8080/framework-ws-security/services/example"/>
>         <property name="outInterceptors">
>             <list>
> <!--                <bean
> class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor" />-->
>                 <ref bean="wss4jOutConfiguration" />
>             </list>
>         </property>
>     </bean>
>
>     <bean id="wss4jOutConfiguration"
> class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
>         <property name="properties">
>             <map>
>                 <entry key="action" value="UsernameToken"/>
>                 <entry key="user" value="ws-client" />
>                 <entry key="passwordType" value="PasswordDigest" />
>                 <entry>
>                     <key>
>                         <value>passwordCallbackRef</value>
>                     </key>
>                     <ref bean="clientPasswordCallback"/>
>                 </entry>
>             </map>
>         </property>
>     </bean>
>
>     <bean id="clientPasswordCallback"
> class="com.mycompany.myapp.security.ClientPasswordCallback"/>
>
>     <!-- Web service dynamic proxy -->
>     <bean id="exampleWSProxy"
>           class="com.mycompany.myapp.business.webservice.ExampleWS"
>           factory-bean="exampleWSFactory"
>           factory-method="create"/>
>
>
>
>
>
> And here the exception:
>
> 17:06:00,350 ERROR [STDERR] 3/Out/2008 17:06:00
> org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.jboss.util.NotImplementedException
>         at
> org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:298)
>         at
> org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWrite
>r.java:81) at
> org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMSt
>reamWriter.java:98) at
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEn
>velopeStart(SoapOutInterceptor.java:95) at
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>ge(SoapOutInterceptor.java:76) at
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>ge(SoapOutInterceptor.java:57) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>rChain.java:220) at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296) at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242) at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>         at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178
>) at $Proxy98.executeTest(Unknown Source)
>         at
> com.mycompany.myapp.business.ExampleServiceImpl.getExamples(ExampleSer
>viceImpl.java:51) at
> com.mycompany.myapp.presentation.action.TestActionBean.afterMethodCall
>(TestActionBean.java:181) at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
>ava:39) at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
>orImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.invoke
>(BeforeAfterMethodInterceptor.java:154) at
> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.interc
>ept(BeforeAfterMethodInterceptor.java:129) at
> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionC
>ontext.java:155) at
> net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionCont
>ext.java:74) at
> net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler
>(DispatcherHelper.java:440) at
> net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandle
>r(DispatcherServlet.java:285) at
> net.sourceforge.stripes.controller.DispatcherServlet.doPost(Dispatcher
>Servlet.java:167) at
> net.sourceforge.stripes.controller.DispatcherServlet.doGet(DispatcherS
>ervlet.java:67) at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>cationFilterChain.java:290) at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>lterChain.java:206) at
> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilte
>r.java:246) at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>cationFilterChain.java:235) at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>lterChain.java:206) at
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFil
>ter.java:96) at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>cationFilterChain.java:235) at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>lterChain.java:206) at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
>lve.java:230) at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
>lve.java:175) at
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Security
>AssociationValve.java:179) at
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve
>.java:84) at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
>va:128) at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
>va:104) at
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedCo
>nnectionValve.java:157) at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
>e.java:109) at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
>:241) at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>844) at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
>s(Http11Protocol.java:580) at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447
>) at java.lang.Thread.run(Thread.java:619)
> 17:06:00,444 WARN  [DefaultExceptionHandler] Unhandled exception
> caught by the Stripes default exception handler.
> javax.xml.ws.soap.SOAPFaultException
>         at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:199
>) at $Proxy98.executeTest(Unknown Source)
>         at
> com.mycompany.myapp.business.ExampleServiceImpl.getExamples(ExampleSer
>viceImpl.java:51) at
> com.mycompany.myapp.presentation.action.TestActionBean.afterMethodCall
>(TestActionBean.java:181) at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
>ava:39) at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
>orImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.invoke
>(BeforeAfterMethodInterceptor.java:154) at
> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.interc
>ept(BeforeAfterMethodInterceptor.java:129) at
> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionC
>ontext.java:155) at
> net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionCont
>ext.java:74) at
> net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler
>(DispatcherHelper.java:440) at
> net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandle
>r(DispatcherServlet.java:285) at
> net.sourceforge.stripes.controller.DispatcherServlet.doPost(Dispatcher
>Servlet.java:167) at
> net.sourceforge.stripes.controller.DispatcherServlet.doGet(DispatcherS
>ervlet.java:67) at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>cationFilterChain.java:290) at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>lterChain.java:206) at
> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilte
>r.java:246) at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>cationFilterChain.java:235) at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>lterChain.java:206) at
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFil
>ter.java:96) at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>cationFilterChain.java:235) at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>lterChain.java:206) at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
>lve.java:230) at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
>lve.java:175) at
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Security
>AssociationValve.java:179) at
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve
>.java:84) at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
>va:128) at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
>va:104) at
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedCo
>nnectionValve.java:157) at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
>e.java:109) at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
>:241) at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>844) at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
>s(Http11Protocol.java:580) at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447
>) at java.lang.Thread.run(Thread.java:619)
> Caused by: org.jboss.util.NotImplementedException
>         at
> org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:298)
>         at
> org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWrite
>r.java:81) at
> org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMSt
>reamWriter.java:98) at
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEn
>velopeStart(SoapOutInterceptor.java:95) at
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>ge(SoapOutInterceptor.java:76) at
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>ge(SoapOutInterceptor.java:57) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>rChain.java:220) at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296) at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242) at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>         at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178
>) ... 38 more
> 17:06:00,444 ERROR [[StripesDispatcher]] Servlet.service() for servlet
> StripesDispatcher threw exception
> org.jboss.util.NotImplementedException
>         at
> org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:298)
>         at
> org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWrite
>r.java:81) at
> org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMSt
>reamWriter.java:98) at
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEn
>velopeStart(SoapOutInterceptor.java:95) at
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>ge(SoapOutInterceptor.java:76) at
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa
>ge(SoapOutInterceptor.java:57) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>rChain.java:220) at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296) at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242) at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>         at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178
>) at $Proxy98.executeTest(Unknown Source)
>         at
> com.mycompany.myapp.business.ExampleServiceImpl.getExamples(ExampleSer
>viceImpl.java:51) at
> com.mycompany.myapp.presentation.action.TestActionBean.afterMethodCall
>(TestActionBean.java:181) at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
>ava:39) at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
>orImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.invoke
>(BeforeAfterMethodInterceptor.java:154) at
> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.interc
>ept(BeforeAfterMethodInterceptor.java:129) at
> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionC
>ontext.java:155) at
> net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionCont
>ext.java:74) at
> net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler
>(DispatcherHelper.java:440) at
> net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandle
>r(DispatcherServlet.java:285) at
> net.sourceforge.stripes.controller.DispatcherServlet.doPost(Dispatcher
>Servlet.java:167) at
> net.sourceforge.stripes.controller.DispatcherServlet.doGet(DispatcherS
>ervlet.java:67) at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>cationFilterChain.java:290) at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>lterChain.java:206) at
> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilte
>r.java:246) at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>cationFilterChain.java:235) at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>lterChain.java:206) at
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFil
>ter.java:96) at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>cationFilterChain.java:235) at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>lterChain.java:206) at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
>lve.java:230) at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
>lve.java:175) at
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Security
>AssociationValve.java:179) at
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve
>.java:84) at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
>va:128) at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
>va:104) at
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedCo
>nnectionValve.java:157) at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
>e.java:109) at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
>:241) at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>844) at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
>s(Http11Protocol.java:580) at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447
>) at java.lang.Thread.run(Thread.java:619)



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