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
 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 <[email protected]> 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
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$SoapActionInAttemptTwoInterceptor.handleMessage(SoapActionInInterceptor.java:188)
    at
org.apache.cxf.binding.soap.interceptor.SoapActionInInterceptor$SoapActionInAttemptTwoInterceptor.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: [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


--
Glen Mazza
Talend Community Coders - coders.talend.com
blog: www.jroller.com/gmazza

Reply via email to