Author: rott Date: Mon Jan 7 14:04:18 2008 New Revision: 609792 URL: http://svn.apache.org/viewvc?rev=609792&view=rev Log: AXIS2-3430: setting handler resolver on dispatch client does not call expected handlers. This is fixed, and a test is added.
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/AddNumbersHandlerTests.java Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java?rev=609792&r1=609791&r2=609792&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java (original) +++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java Mon Jan 7 14:04:18 2008 @@ -149,8 +149,6 @@ XMLDispatch<T> dispatch = new XMLDispatch<T>(this, endpointDesc); - // FIXME: This call needs to be revisited. Not really sure what we're trying to do here. - dispatch.setBinding(addBinding(endpointDesc, endpointDesc.getClientBindingID())); if (mode != null) { dispatch.setMode(mode); } else { Modified: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/AddNumbersHandlerTests.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/AddNumbersHandlerTests.java?rev=609792&r1=609791&r2=609792&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/AddNumbersHandlerTests.java (original) +++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/AddNumbersHandlerTests.java Mon Jan 7 14:04:18 2008 @@ -117,6 +117,7 @@ new QName("http://org/test/addnumbershandler", "AddNumbersHandlerPort"); Service myService = Service.create(serviceName); + myService.addPort(portName, null, axisEndpoint); Dispatch<Source> myDispatch = myService.createDispatch(portName, Source.class, Service.Mode.MESSAGE); @@ -138,7 +139,37 @@ Source response = myDispatch.invoke(createRequestSource()); String resString = getString(response); if (!resString.contains("<return>16</return>")) { - fail("Response string should contain <return>17</return>, but does not. The resString was: \"" + resString + "\""); + fail("Response string should contain <return>16</return>, but does not. The resString was: \"" + resString + "\""); + } + + TestLogger.logger.debug("----------------------------------"); + } catch (Exception e) { + e.printStackTrace(); + fail(); + } + } + + public void testAddNumbersHandlerDispatchMyResolver() { + try { + QName serviceName = + new QName("http://org/test/addnumbershandler", "AddNumbersHandlerService"); + QName portName = + new QName("http://org/test/addnumbershandler", "AddNumbersHandlerPort"); + + Service myService = Service.create(serviceName); + + myService.setHandlerResolver(new MyHandlerResolver()); + + myService.addPort(portName, null, axisEndpoint); + Dispatch<Source> myDispatch = myService.createDispatch(portName, Source.class, + Service.Mode.MESSAGE); + + //Invoke the Dispatch + TestLogger.logger.debug(">> Invoking Async Dispatch"); + Source response = myDispatch.invoke(createRequestSource()); + String resString = getString(response); + if (!resString.contains("<return>16</return>")) { + fail("Response string should contain <return>16</return>, but does not. The resString was: \"" + resString + "\""); } TestLogger.logger.debug("----------------------------------"); @@ -556,17 +587,20 @@ } public void testAddNumbersHandlerHandlerResolver() { - try { - System.out.println("----------------------------------"); - System.out.println("test: " + getName()); - AddNumbersHandlerService service = new AddNumbersHandlerService(); // will give NPE: - List<Handler> handlers = service.getHandlerResolver().getHandlerChain(null); - assertNotNull("Default handlers list should not be null but empty.", handlers); - System.out.println("----------------------------------"); - } catch (Exception e) { - e.printStackTrace(); - fail(e.getMessage()); - } - } + try { + System.out.println("----------------------------------"); + System.out.println("test: " + getName()); + AddNumbersHandlerService service = new AddNumbersHandlerService(); // will give NPE: + List<Handler> handlers = service.getHandlerResolver() + .getHandlerChain(null); + assertNotNull( + "Default handlers list should not be null but empty.", + handlers); + System.out.println("----------------------------------"); + } catch (Exception e) { + e.printStackTrace(); + fail(e.getMessage()); + } + } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]