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 [EMAIL PROTECTED] http://www.dankulp.com/blog
