Hi Glen,

This is weird. I don't know where the "**"s come from but they are not in
my config, logs or on pastebin where I see "The given SOAPAction
test.oneStringArgWssUsernameToken does not match an operation."

WRT to the "a.b" syntax, yeah it might be weird, but our tests have been
like that for years. I can fix if it's wrong, otherwise I'd rather not
fiddle with our giant pile of tests ;)

Gary

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

> The soap:actions in your WSDL seem unusual, I don't think I've seen "a.b"
> syntax before:
>
> 1.
>    <operationname="test.**oneStringArgWssUsernameToken">
> 2.
>    <soap:operationsoapAction="**test.**oneStringArgWssUsernameToken"/**>
> 3.              ...
> 4.
>    <operationname="test.**oneStringArgWssAll">
> 5.
>    <soap:operationsoapAction="**test.oneStringArgWssAll"/>
> 6.              ....
>
>
>
> But anyway, your error message is saying:
>
> **Fault: The given SOAPAction test.****oneStringArgWssUsernameToken does
> not match an operation.
>
> I don't know where those two asterisks between the test. and the
> oneString... are coming from, but that would appear to be the problem, it
> needs to see a SOAPAction of test.**oneStringArgWssUsernameToken instead.
>  Can you confirm with Wireshark ( http://www.jroller.com/gmazza/**
> entry/soap_calls_over_**wireshark<http://www.jroller.com/gmazza/entry/soap_calls_over_wireshark>)
> that you're indeed getting those two asterisks over the wire?
>
> Glen
>
>
> On 10/29/2012 04:28 PM, Gary Gregory wrote:
>
>> 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<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.**appi**nterface.seagullsw.com/}**<http://appinterface.seagullsw.com/%7D**>
>>>> LdeWebServiceProviderService#{****http://soap.comm.server.**
>>>> appinterface.seagullsw.com/}****invokehas<http://appinterface.seagullsw.com/%7D**invokehas>
>>>> <http://soap.comm.**server.appinterface.seagullsw.**com/%**
>>>> 7DLdeWebServiceProviderService**#%7Bhttp://soap.comm.server.**
>>>> appinterface.seagullsw.com/%**7Dinvokehas<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
>>>
>>>
>>>
>>
>
> --
> 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