}
@Test
public void testJaxWsaFeature() throws Exception {
HelloWsa greeter = new HelloWsa();
JaxWsServiceFactoryBean serviceFactory = new JaxWsServiceFactoryBean();
serviceFactory.setBus(getBus());
serviceFactory.setInvoker(new BeanInvoker(greeter));
serviceFactory.setServiceClass(HelloWsa.class);
EndpointImpl endpoint = new EndpointImpl(getBus(), greeter,
new JaxWsServerFactoryBean(serviceFactory));
try {
String address = "http://localhost:8080/test";
endpoint.publish(address);
} catch (IllegalArgumentException ex) {
assertTrue(ex.getCause() instanceof BusException);
assertEquals("BINDING_INCOMPATIBLE_ADDRESS_EXC", ((BusException)ex.getCause()).getCode());
}
assertTrue(serviceFactory.getFeatures().size() == 1);
assertTrue(serviceFactory.getFeatures().get(0) instanceof WSAddressingFeature);
}