Hi,

Could you supply a test-case for this?

Colm.

On Thu, May 5, 2011 at 2:46 PM, Dirk Rudolph
<[email protected]> wrote:
> Hi @all,
>
>
>
> I added the WSS4JInInterceptor to the endpoint configured as spring bean but
> this caused a different processing of values received in the soap body. Can
> anyone give me a hint what the problem in my configuration is.
>
>
>
> Additional informations:
>
> The hole service is working without the interceptor and with methods
> requiring no parameters.
>
> I'm using cxf 2.4 with WSS4J 1.6 and UsernameToken authentication.
>
>
>
> Thanks,
>
> Dirk
>
>
>
> Endpoint config:
>
>      <jaxws:endpoint id="PersonenSucheServiceEndpoint"
>
>            implementor="#core_ws_PersonenSucheService"
> address="/PersonenSuche">
>
>            <jaxws:inInterceptors>
>
>                  <bean
> class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>
>                        <constructor-arg>
>
>                             <map>
>
>                                   <entry key="action" value="UsernameToken"
> />
>
>                                   <entry key="passwordType"
> value="PasswordDigets" />
>
>                                   <entry key="passwordCallbackRef">
>
>                                         <ref
> bean="core_ws_security_WebServiceAuthenticationCallback" />
>
>                                   </entry>
>
>                             </map>
>
>                        </constructor-arg>
>
>                  </bean>
>
>            </jaxws:inInterceptors>
>
>            <jaxws:handlers>
>
>                  <bean id="seamHandler"
> class="org.jboss.seam.webservice.SOAPRequestHandler" />
>
>            </jaxws:handlers>
>
>            <jaxws:features>
>
>                  <bean
> class="org.apache.cxf.transport.common.gzip.GZIPFeature" />
>
>                  <bean class="org.apache.cxf.feature.LoggingFeature" />
>
>            </jaxws:features>
>
>      </jaxws:endpoint>
>
>
>
> SoapMessage:
>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:ws="http://ws.core.ebbi.mms_dresden.de/";>
>
>   <soapenv:Header><wsse:Security
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecuri
> ty-secext-1.0.xsd"><wsse:UsernameToken wsu:Id="UsernameToken-77"
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurit
> y-utility-1.0.xsd"><wsse:Username>[email protected]</wsse:Username><
> wsse:Password
> Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> -profile-1.0#PasswordText">*****</wsse:Password><wsse:Nonce
> EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-m
> essage-security-1.0#Base64Binary">ebrntIcuiXDmA0Mk9tC72Q==</wsse:Nonce><wsu:
> Created>2011-05-05T13:40:07.949Z</wsu:Created></wsse:UsernameToken></wsse:Se
> curity></soapenv:Header>
>
>   <soapenv:Body>
>
>      <ws:findPersonen>
>
>         <ws:query>'az'</ws:query>
>
>      </ws:findPersonen>
>
>   </soapenv:Body>
>
> </soapenv:Envelope>
>
>
>
> ServiceInterface (only the head and the method)
>
>
>
> @WebService
>
> public interface PersonenSucheService {
>
>    @WebMethod(action = "findPersonen")
>
>    WSPerson[] findPersonen(@WebParam(
>
>                                      name            = "query",
>
>                                      targetNamespace = NAMESPACE
>
>                                     ) String query);
>
> }
>
>
>
> Stacktrace:
>
> org.apache.cxf.interceptor.Fault: wrong number of arguments while invoking
> public de.mms_dresden.ebbi.core.ws.WSPerson[]
> de.mms_dresden.ebbi.core.ws.impl.PersonenSucheServiceImpl.findPersonen(java.
> lang.String) with params null.
>
>      at
> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.j
> ava:159)
>
>      at
> org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMet
> hodInvoker.java:86)
>
>      at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:1
> 33)
>
>      at
> org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:61)
>
>      at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:7
> 5)
>
>      at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInt
> erceptor.java:58)
>
>      at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>
>      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>
>      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>
>      at
> org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.jav
> a:37)
>
>      at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceIn
> vokerInterceptor.java:106)
>
>      at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain
> .java:263)
>
>      at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationOb
> server.java:118)
>
>      at
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDes
> tination.java:208)
>
>      at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(Servlet
> Controller.java:223)
>
>      at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.
> java:205)
>
>      at
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServ
> let.java:113)
>
>      at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractH
> TTPServlet.java:184)
>
>      at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServ
> let.java:107)
>
>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>
>      at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPSer
> vlet.java:163)
>
>      at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>
>      at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler
> .java:1221)
>
>      at
> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:8
> 3)
>
>      at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
>
>      at
> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:6
> 9)
>
>      at
> de.mms_dresden.ebbi.core.fe.impl.security.SessionIdFilter.doFilter(SessionId
> Filter.java:99)
>
>      at
> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:6
> 9)
>
>      at
> de.mms_dresden.ebbi.core.fe.impl.security.UrlValidationFilter.doFilter(UrlVa
> lidationFilter.java:54)
>
>      at
> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:6
> 9)
>
>      at
> org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
>
>      at
> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:6
> 9)
>
>      at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
>
>      at
> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:6
> 9)
>
>      at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
>
>      at
> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:6
> 9)
>
>      at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
>
>      at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler
> .java:1212)
>
>      at
> de.mms_dresden.ebbi.core.fe.impl.security.SessionFilter.doFilter(SessionFilt
> er.java:135)
>
>      at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler
> .java:1212)
>
>      at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
>
>      at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>
>      at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>
>      at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>
>      at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
>
>      at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerColl
> ection.java:230)
>
>      at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:11
> 4)
>
>      at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>
>      at org.mortbay.jetty.Server.handle(Server.java:326)
>
>      at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>
>      at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:
> 945)
>
>      at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
>
>      at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>
>      at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>
>      at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
>
>      at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582
> )
>
> Caused by: java.lang.IllegalArgumentException: wrong number of arguments
>
>      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
> org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInv
> oker.java:173)
>
>      at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:8
> 9)
>
>      ... 53 more
>
>

Reply via email to