public void testPublishedEndpointUrl() throws Exception {
Greeter implementor = new org.apache.hello_world_soap_http.GreeterImpl();
String publishedEndpointUrl = "http://cxf.apache.org/publishedEndpointUrl";
JaxWsServerFactoryBean svrFactory = new JaxWsServerFactoryBean();
svrFactory.setServiceClass(Greeter.class);
svrFactory.setAddress("http://localhost:" + PORT + "/publishedEndpointUrl");
svrFactory.setPublishedEndpointUrl(publishedEndpointUrl);
svrFactory.setServiceBean(implementor);
Server server = svrFactory.create();
WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader();
wsdlReader.setFeature("javax.wsdl.verbose", false);
URL url = new URL(svrFactory.getAddress() + "?wsdl=1");
HttpURLConnection connect = (HttpURLConnection)url.openConnection();
assertEquals(500, connect.getResponseCode());
Definition wsdl = wsdlReader.readWSDL(svrFactory.getAddress() + "?wsdl");
assertNotNull(wsdl);
Collection<Service> services = CastUtils.cast(wsdl.getAllServices().values());
final String failMesg = "WSDL provided incorrect soap:address location";