Return-Path: X-Original-To: apmail-cxf-users-archive@www.apache.org Delivered-To: apmail-cxf-users-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9C82DDEF4 for ; Tue, 30 Oct 2012 03:34:25 +0000 (UTC) Received: (qmail 55613 invoked by uid 500); 30 Oct 2012 03:34:24 -0000 Delivered-To: apmail-cxf-users-archive@cxf.apache.org Received: (qmail 55291 invoked by uid 500); 30 Oct 2012 03:34:23 -0000 Mailing-List: contact users-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@cxf.apache.org Delivered-To: mailing list users@cxf.apache.org Received: (qmail 55238 invoked by uid 99); 30 Oct 2012 03:34:21 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 30 Oct 2012 03:34:21 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS,URIBL_DBL_REDIR X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of garydgregory@gmail.com designates 209.85.160.41 as permitted sender) Received: from [209.85.160.41] (HELO mail-pb0-f41.google.com) (209.85.160.41) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 30 Oct 2012 03:34:13 +0000 Received: by mail-pb0-f41.google.com with SMTP id rq2so4877262pbb.0 for ; Mon, 29 Oct 2012 20:33:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=/gwGXX5fcrjJ8xWHwOe9lQ+e6hWtx7bUYQC00ZcShr0=; b=rwh506a97n4UpT/rcRzNfYU+fJKP9Lb51j/X4ItT/7pZHYdNC51G5ftNNqxUiUSdJr WT4NBf8TWArmAilvX+quVkttcpnDvhoPeF29u8LA8v3yQR9Q9ihglIpfsKbismNxqgoe h2W4h+JCM/oOVHgOIqGj+kcXOGCTHbFvj7dZkXttbZ3yzhv6RN/wswj2sPOGPcJNXihi eJ63KZ42uh2z4f+nDnWRyhw1XAOJ4bFyCP3vZroNlTb4Kkag21hwTI3Mtw9f6dqU4dj/ wrjXCKZehu4Rmgj7WQeXxyViMviOLw4Oad37gc1KkI5M6YrkJ5Dnug6YURI+sUR0hTHT XdqQ== MIME-Version: 1.0 Received: by 10.68.192.5 with SMTP id hc5mr64710907pbc.16.1351568031451; Mon, 29 Oct 2012 20:33:51 -0700 (PDT) Received: by 10.68.40.130 with HTTP; Mon, 29 Oct 2012 20:33:51 -0700 (PDT) In-Reply-To: <508F4015.8050409@talend.com> References: <50A62B27-32FF-44D0-8B53-445C5549593F@apache.org> <508EEE55.4080604@talend.com> <508F4015.8050409@talend.com> Date: Mon, 29 Oct 2012 23:33:51 -0400 Message-ID: Subject: Re: 2.7.0 vs. 2.6.0: org.apache.cxf.interceptor.Fault: The given SOAPAction test.oneStringArgWssUsernameToken does not match an operation. From: Gary Gregory To: users@cxf.apache.org Content-Type: multipart/alternative; boundary=e89a8f64328e67889a04cd3e7405 X-Virus-Checked: Checked by ClamAV on apache.org --e89a8f64328e67889a04cd3e7405 Content-Type: text/plain; charset=UTF-8 Hm... I have spring-context on my classpath already... and more Spring stuff (but I have to use Ivy): I'll take to keep digging in the AM. Maybe it's a different dependency issue... I do not have the geronimo jars on my CP... This is the relevant section of my ivy.xml: Gary On Mon, Oct 29, 2012 at 10:48 PM, Glen Mazza wrote: > You're in luck, I just got that oddball "An error was discovered > processing the header" error message about one hour ago. > The solution for me was to just add the below Maven dependency to my > client pom so the client-side Spring configuration which provides > WS-Security elements would be processed. (Here's my source code: > https://github.com/gmazza/**blog-samples/tree/master/cxf_** > x509_profile_interceptor > ) > > > org.springframework > spring-context > 3.0.7.RELEASE (or whatever else) > > > Glen > > > > > On 10/29/2012 10:04 PM, Gary Gregory wrote: > >> Hi All, >> >> In order to sort things out between our test code and server, I am testing >> our server with SOAP UI and telling it to remove SOAPAction headers. That >> passes by CXF and gets into our custom interceptors where I can pick up >> the >> what the SOAP action used to mean based on the name of an XML element. Our >> interceptor used to look for the SOAP Action header, now it does not. I am >> now running into a different issue: >> >> 2012-10-29 22:02:44,198 [qtp1840304693-21 - /lde/] WARN : Interceptor for >> { >> http://soap.comm.server.**appinterface.seagullsw.com/}** >> LdeWebServiceProviderServiceha**s >> thrown exception, unwinding now >> org.apache.cxf.binding.soap.**SoapFault: An error was discovered >> processing >> the header >> at >> org.apache.cxf.ws.security.**wss4j.WSS4JInInterceptor.**createSoapFault(* >> *WSS4JInInterceptor.java:797) >> at >> org.apache.cxf.ws.security.**wss4j.WSS4JInInterceptor.**handleMessage(** >> WSS4JInInterceptor.java:354) >> at >> com.seagullsw.appinterface.**server.comm.soap.**SoapServletCxf$** >> OurWSS4JInInterceptor.**handleMessage(SoapServletCxf.**java:790) >> at >> org.apache.cxf.ws.security.**wss4j.WSS4JInInterceptor.**handleMessage(** >> WSS4JInInterceptor.java:94) >> at >> org.apache.cxf.phase.**PhaseInterceptorChain.**doIntercept(** >> PhaseInterceptorChain.java:**271) >> at >> org.apache.cxf.transport.**ChainInitiationObserver.**onMessage(** >> ChainInitiationObserver.java:**121) >> at >> org.apache.cxf.transport.http.**AbstractHTTPDestination.**invoke(** >> AbstractHTTPDestination.java:**238) >> at >> org.apache.cxf.transport.**servlet.ServletController.**invokeDestination( >> **ServletController.java:222) >> at >> org.apache.cxf.transport.**servlet.ServletController.** >> invoke(ServletController.java:**202) >> at >> org.apache.cxf.transport.**servlet.ServletController.** >> invoke(ServletController.java:**137) >> at >> org.apache.cxf.transport.**servlet.CXFNonSpringServlet.** >> invoke(CXFNonSpringServlet.**java:158) >> at >> org.apache.cxf.transport.**servlet.AbstractHTTPServlet.**handleRequest(** >> AbstractHTTPServlet.java:239) >> at >> org.apache.cxf.transport.**servlet.AbstractHTTPServlet.** >> doPost(AbstractHTTPServlet.**java:159) >> at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:754) >> at >> org.apache.cxf.transport.**servlet.AbstractHTTPServlet.** >> service(AbstractHTTPServlet.**java:215) >> at >> org.eclipse.jetty.servlet.**ServletHolder.handle(** >> ServletHolder.java:648) >> at >> org.eclipse.jetty.servlet.**ServletHandler.doHandle(** >> ServletHandler.java:455) >> at >> org.eclipse.jetty.server.**handler.ContextHandler.** >> doHandle(ContextHandler.java:**1072) >> at >> org.eclipse.jetty.servlet.**ServletHandler.doScope(** >> ServletHandler.java:382) >> at >> org.eclipse.jetty.server.**handler.ContextHandler.** >> doScope(ContextHandler.java:**1006) >> at >> org.eclipse.jetty.server.**handler.ScopedHandler.handle(** >> ScopedHandler.java:135) >> at >> org.eclipse.jetty.server.**handler.**ContextHandlerCollection.**handle(** >> ContextHandlerCollection.java:**255) >> at >> org.eclipse.jetty.server.**handler.HandlerWrapper.handle(** >> HandlerWrapper.java:116) >> at org.eclipse.jetty.server.**Server.handle(Server.java:361) >> at >> org.eclipse.jetty.server.**AbstractHttpConnection.**handleRequest(** >> AbstractHttpConnection.java:**485) >> at >> org.eclipse.jetty.server.**AbstractHttpConnection.**content(** >> AbstractHttpConnection.java:**937) >> at >> org.eclipse.jetty.server.**AbstractHttpConnection$** >> RequestHandler.content(**AbstractHttpConnection.java:**998) >> at org.eclipse.jetty.http.**HttpParser.parseNext(** >> HttpParser.java:856) >> at org.eclipse.jetty.http.**HttpParser.parseAvailable(** >> HttpParser.java:240) >> at >> org.eclipse.jetty.server.**AsyncHttpConnection.handle(** >> AsyncHttpConnection.java:82) >> at >> org.eclipse.jetty.io.nio.**SelectChannelEndPoint.handle(** >> SelectChannelEndPoint.java:**627) >> at >> org.eclipse.jetty.io.nio.**SelectChannelEndPoint$1.run(** >> SelectChannelEndPoint.java:51) >> at >> org.eclipse.jetty.util.thread.**QueuedThreadPool.runJob(** >> QueuedThreadPool.java:608) >> at >> org.eclipse.jetty.util.thread.**QueuedThreadPool$3.run(** >> QueuedThreadPool.java:543) >> at java.lang.Thread.run(Unknown Source) >> Caused by: org.apache.ws.security.**WSSecurityException: An error was >> discovered processing the header >> at >> org.apache.cxf.ws.security.**wss4j.WSS4JInInterceptor.**checkActions(** >> WSS4JInInterceptor.java:380) >> at >> org.apache.cxf.ws.security.**wss4j.WSS4JInInterceptor.**handleMessage(** >> WSS4JInInterceptor.java:330) >> ... 33 more >> >> Based on previous messages, is this because CXF does not know about the >> WSDL? >> >> Is seeing the reverse domain parts (" >> soap.comm.server.appinterface.**seagullsw.com") >> the usual hint for this issue? >> >> Then there is still how to get JaxWsDynamicClientFactory to behave; unless >> you advise I just remove SOAP actions from the WSDL? >> >> Thank you! >> Gary >> >> On Mon, Oct 29, 2012 at 6:29 PM, Gary Gregory > >wrote: >> >> Am I hearing different approaches here? >>> >>> (1) Don't send SOAPAction. I'm still not sure how to tell >>> JaxWsDynamicClientFactory how to do that. There is no other way than to >>> strip the header from an interceptor. >>> >>> (2) Remove SOAP actions from WSDL and JaxWsDynamicClientFactory will not >>> create the header. When I do that XMLSpy complains about the WSDL and at >>> runtime, I get some other misbehavior, like the creds are always >>> rejected. >>> I'd just hacked that quickly so I am not sure of the details. >>> >>> (3) Send SOAPAction but it must be matched on the server with a CXF >>> config >>> file that points to WSDLs? >>> >>> Thank you for your help, >>> Gary >>> >>> >>> On Mon, Oct 29, 2012 at 5:00 PM, Glen Mazza wrote: >>> >>> You can provide the WSDL to use via the wsdlLocation attribute in the >>>> CXF >>>> configuration file: >>>> http://www.jroller.com/gmazza/****entry/web_service_tutorial#*** >>>> *WFstep6 >>>> >>>> > >>>> >>>> >>>> Glen >>>> >>>> >>>> On 10/29/2012 04:49 PM, Daniel Kulp wrote: >>>> >>>> This may be on the service side: >>>>> >>>>> INFO : Creating Service {http://soap.comm.server.** >>>>> appinterface.seagullsw.com/}****LdeWebServiceProviderService >>>>> >>>> 7DLdeWebServiceProviderService >>>>> **>from class com.seagullsw.appinterface. >>>>> **server.comm.soap.****SoapServletCxf$****LdeWebServiceProvider >>>>> >>>>> >>>>> >>>>> Looks like the server side isn't using the WSDL and thus may not have >>>>> the proper Actions available for it. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> On Oct 29, 2012, at 4:01 PM, Gary Gregory >>>>> wrote: >>>>> >>>>> Hi All: >>>>> >>>>>> I am updating our app server to 2.7.0 from 2.6.0 and our WSS tests are >>>>>> failing. All the other tests are OK. I'm not sure if this is something >>>>>> we've gotten away with in the past with our pile of custom >>>>>> interceptors >>>>>> or >>>>>> if this is an incompatibility. It would be very difficult for me to >>>>>> extract >>>>>> a standalone test based on our code so I am taking a short cut to see >>>>>> if >>>>>> this will ring an obvious bell with someone. >>>>>> >>>>>> The test looks like this: >>>>>> >>>>>> @Test >>>>>> public void testWssNamePwd() throws Exception { >>>>>> final URL wsdl = >>>>>> ClassLoader.getSystemResource(****this.getConfigResource() + >>>>>> "/functions/TestBackEndWss.****wsdl"); >>>>>> final Client client = >>>>>> JaxWsDynamicClientFactory.****newInstance().createClient(** >>>>>> >>>>>> wsdl.toExternalForm()); >>>>>> final Map outProps = new HashMap>>>>> Object>(); >>>>>> outProps.put(****WSHandlerConstants.ACTION, >>>>>> WSHandlerConstants.USERNAME_****TOKEN); >>>>>> outProps.put(****WSHandlerConstants.PASSWORD_****TYPE, >>>>>> WSConstants.PW_TEXT); >>>>>> outProps.put(****WSHandlerConstants.USER, >>>>>> AisTestBackEnd.USER_NAME); >>>>>> outProps.put(****WSHandlerConstants.PW_****CALLBACK_REF, new >>>>>> >>>>>> CallbackHandler() { >>>>>> @Override >>>>>> public void handle(final Callback[] callbacks) { >>>>>> final WSPasswordCallback callback = >>>>>> (WSPasswordCallback) >>>>>> callbacks[0]; >>>>>> callback.setPassword(****AisTestBackEnd.PASSWORD); >>>>>> } >>>>>> }); >>>>>> client.getOutInterceptors().****add(new >>>>>> WSS4JOutInterceptor(outProps))****; >>>>>> >>>>>> final String ARG_VALUE = "string arg value"; >>>>>> Object[] results = >>>>>> client.invoke(AisTestBackEnd.****ONESTRINGARGWSS_**USERNAMETOKEN_** >>>>>> >>>>>> FUNCTION_NAME, >>>>>> new Object[] { ARG_VALUE }); >>>>>> Assert.assertNotNull(results); >>>>>> Assert.assertNotNull(results[****0]); >>>>>> >>>>>> Assert.assertTrue(((String) results[0]).indexOf(ARG_VALUE) > >>>>>> 0); >>>>>> //more asserts... >>>>>> >>>>>> This is the exception I see: >>>>>> >>>>>> 2012-10-29 15:04:40,656 [qtp563831333-20 - /lde/] WARN : Interceptor >>>>>> for { >>>>>> http://soap.comm.server.**appi**nterface.seagullsw.com/}** >>>>>> LdeWebServiceProviderService#{****http://soap.comm.server.** >>>>>> appinterface.seagullsw.com/}****invokehas >>>>>> >>>>> 7DLdeWebServiceProviderService**#%7Bhttp://soap.comm.server.** >>>>>> appinterface.seagullsw.com/%**7Dinvokehas >>>>>> > >>>>>> thrown exception, unwinding now >>>>>> org.apache.cxf.interceptor.****Fault: The given SOAPAction >>>>>> test.****oneStringArgWssUsernameToken does not match an operation. >>>>>> at >>>>>> >>>>>> org.apache.cxf.binding.soap.****interceptor.**** >>>>>> SoapActionInInterceptor$** >>>>>> SoapActionInAttemptTwoIntercep****tor.handleMessage(** >>>>>> SoapActionInInterceptor.java:****188) >>>>>> at >>>>>> org.apache.cxf.binding.soap.****interceptor.**** >>>>>> SoapActionInInterceptor$** >>>>>> SoapActionInAttemptTwoIntercep****tor.handleMessage(** >>>>>> SoapActionInInterceptor.java:****162) >>>>>> at >>>>>> org.apache.cxf.phase.****PhaseInterceptorChain.****doIntercept(** >>>>>> PhaseInterceptorChain.java:****271) >>>>>> at >>>>>> org.apache.cxf.transport.****ChainInitiationObserver.****onMessage(** >>>>>> ChainInitiationObserver.java:****121) >>>>>> at >>>>>> org.apache.cxf.transport.http.****AbstractHTTPDestination.**** >>>>>> invoke(** >>>>>> AbstractHTTPDestination.java:****238) >>>>>> at >>>>>> org.apache.cxf.transport.****servlet.ServletController.** >>>>>> invokeDestination(****ServletController.java:222) >>>>>> at >>>>>> org.apache.cxf.transport.****servlet.ServletController.** >>>>>> invoke(ServletController.java:****202) >>>>>> at >>>>>> org.apache.cxf.transport.****servlet.ServletController.** >>>>>> invoke(ServletController.java:****137) >>>>>> at >>>>>> org.apache.cxf.transport.****servlet.CXFNonSpringServlet.** >>>>>> invoke(CXFNonSpringServlet.****java:158) >>>>>> at >>>>>> org.apache.cxf.transport.****servlet.AbstractHTTPServlet.**** >>>>>> handleRequest( >>>>>> **AbstractHTTPServlet.java:**239) >>>>>> at >>>>>> org.apache.cxf.transport.****servlet.AbstractHTTPServlet.** >>>>>> doPost(AbstractHTTPServlet.****java:159) >>>>>> at javax.servlet.http.****HttpServlet.service(**** >>>>>> HttpServlet.java:754) >>>>>> at >>>>>> org.apache.cxf.transport.****servlet.AbstractHTTPServlet.** >>>>>> service(AbstractHTTPServlet.****java:215) >>>>>> at >>>>>> org.eclipse.jetty.servlet.****ServletHolder.handle(** >>>>>> ServletHolder.java:648) >>>>>> at >>>>>> org.eclipse.jetty.servlet.****ServletHandler.doHandle(** >>>>>> ServletHandler.java:455) >>>>>> at >>>>>> org.eclipse.jetty.server.****handler.ContextHandler.** >>>>>> doHandle(ContextHandler.java:****1072) >>>>>> at >>>>>> org.eclipse.jetty.servlet.****ServletHandler.doScope(** >>>>>> ServletHandler.java:382) >>>>>> at >>>>>> org.eclipse.jetty.server.****handler.ContextHandler.** >>>>>> doScope(ContextHandler.java:****1006) >>>>>> at >>>>>> org.eclipse.jetty.server.****handler.ScopedHandler.handle(**** >>>>>> ScopedHandler.java:135) >>>>>> at >>>>>> org.eclipse.jetty.server.****handler.****ContextHandlerCollection.*** >>>>>> *handle( >>>>>> **ContextHandlerCollection.**java:**255) >>>>>> at >>>>>> org.eclipse.jetty.server.****handler.HandlerWrapper.handle(**** >>>>>> HandlerWrapper.java:116) >>>>>> at org.eclipse.jetty.server.****Server.handle(Server.java:361) >>>>>> at >>>>>> org.eclipse.jetty.server.****AbstractHttpConnection.**** >>>>>> handleRequest(** >>>>>> AbstractHttpConnection.java:****485) >>>>>> at >>>>>> org.eclipse.jetty.server.****AbstractHttpConnection.****content(** >>>>>> AbstractHttpConnection.java:****937) >>>>>> at >>>>>> org.eclipse.jetty.server.****AbstractHttpConnection$** >>>>>> RequestHandler.content(****AbstractHttpConnection.java:****998) >>>>>> at org.eclipse.jetty.http.****HttpParser.parseNext(** >>>>>> HttpParser.java:856) >>>>>> at org.eclipse.jetty.http.****HttpParser.parseAvailable(** >>>>>> HttpParser.java:240) >>>>>> at >>>>>> org.eclipse.jetty.server.****AsyncHttpConnection.handle(** >>>>>> AsyncHttpConnection.java:82) >>>>>> at >>>>>> org.eclipse.jetty.io.nio.****SelectChannelEndPoint.handle(**** >>>>>> SelectChannelEndPoint.java:****627) >>>>>> at >>>>>> org.eclipse.jetty.io.nio.****SelectChannelEndPoint$1.run(** >>>>>> SelectChannelEndPoint.java:51) >>>>>> at >>>>>> org.eclipse.jetty.util.thread.****QueuedThreadPool.runJob(** >>>>>> QueuedThreadPool.java:608) >>>>>> at >>>>>> org.eclipse.jetty.util.thread.****QueuedThreadPool$3.run(** >>>>>> QueuedThreadPool.java:543) >>>>>> at java.lang.Thread.run(Unknown Source) >>>>>> >>>>>> The debug log which includes CXF, Jetty and our own logging is here: >>>>>> http://pastebin.com/LXb9vjQD >>>>>> >>>>>> The WSDL is here: http://pastebin.com/y12erjaw >>>>>> >>>>>> Thank you in advance for any guidance you can give me in figuring this >>>>>> out. >>>>>> >>>>>> Gary >>>>>> >>>>>> -- >>>>>> E-Mail: garydgregory@gmail.com | ggregory@apache.org >>>>>> JUnit in Action, 2nd Ed: http:/****/ >>>>>> bit.ly/ECvg0> >>>>>> Spring Batch in Action: http:****// >>>>>> bit.ly/bqpbCK> >>>>>> Blog: http://garygregory.wordpress.****com>>>>> wordpress.com > >>>>>> >>>>>> Home: http://garygregory.com/ >>>>>> Tweet! http://twitter.com/GaryGregory >>>>>> >>>>>> -- >>>> Glen Mazza >>>> Talend Community Coders - coders.talend.com >>>> blog: www.jroller.com/gmazza >>>> >>>> >>>> >>> -- >>> E-Mail: garydgregory@gmail.com | ggregory@apache.org >>> JUnit in Action, 2nd Ed: http:/**/bit.ly/ECvg0 >>> Spring Batch in Action: http:**//bit.ly/bqpbCK >>> >>> Blog: http://garygregory.wordpress.**com >>> Home: http://garygregory.com/ >>> Tweet! http://twitter.com/GaryGregory >>> >>> >> >> > > -- > Glen Mazza > Talend Community Coders - coders.talend.com > blog: www.jroller.com/gmazza > > -- E-Mail: garydgregory@gmail.com | ggregory@apache.org JUnit in Action, 2nd Ed: http://bit.ly/ECvg0 Spring Batch in Action: http://bit.ly/bqpbCK Blog: http://garygregory.wordpress.com Home: http://garygregory.com/ Tweet! http://twitter.com/GaryGregory --e89a8f64328e67889a04cd3e7405--