class EndpointCustomizer implements ComponentProxyCustomizer {

    @Override
    public void customize(final ComponentProxyComponent component, final Map<String, Object> options) {
        consumeOption(options, SERVICE_NAME, serviceObject -> {
            final String serviceName = (String) serviceObject;
            final QName service = QName.valueOf(serviceName);

            options.put(SERVICE_NAME, serviceName);

            consumeOption(options, ComponentProperties.PORT_NAME, portObject -> {
                final QName port = new QName(service.getNamespaceURI(), (String) portObject);

                options.put(ComponentProperties.PORT_NAME, port.toString());
            });
        });
    }

}