Ah! I see, but how do I get JaxWsDynamicClientFactory to behave properly
then?

Gary

On Mon, Oct 29, 2012 at 4:07 PM, Glen Mazza <[email protected]> wrote:

> Yes, I believe it's related to some security tightening up done recently:
> http://cxf.547215.n5.nabble.**com/CXF-2-6-2-SOAPAction-**
> Validation-Behavior-td5713789.**html#a5713800<http://cxf.547215.n5.nabble.com/CXF-2-6-2-SOAPAction-Validation-Behavior-td5713789.html#a5713800>
>
> Glen
>
>
> On 10/29/2012 04: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<String, Object> outProps = new HashMap<String,
>> 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.**appinterface.seagullsw.com/}**
>> LdeWebServiceProviderService#{**http://soap.comm.server.**
>> appinterface.seagullsw.com/}**invokehas<http://soap.comm.server.appinterface.seagullsw.com/%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
>>
>>
>
> --
> Glen Mazza
> Talend Community Coders - coders.talend.com
> blog: www.jroller.com/gmazza
>
>


-- 
E-Mail: [email protected] | [email protected]
JUnit in Action, 2nd Ed: <http://goog_1249600977>http://bit.ly/ECvg0
Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to