RegisterPublisherResponse response = new RegisterPublisherResponse();
            response.setPublisherRegistrationReference(createEndpointReference(publisher.getAddress()));
            success = true;
            return response;
        } catch (EndpointRegistrationException e) {
            PublisherRegistrationFailedFaultType fault = new PublisherRegistrationFailedFaultType();
            throw new PublisherRegistrationFailedFault("Unable to register new endpoint", fault, e);
        } finally {
            if (!success && publisher != null) {
                publishers.remove(publisher.getAddress());
                try {