### Question:
ServiceImpl extends ServiceDelegate { public ServiceImpl(Bus b, URL url, QName name, Class<?> cls, WebServiceFeature ... f) { clazz = cls; this.serviceName = name; if (cls == null || !CXFService.class.isAssignableFrom(cls)) { initialize(b, url, f); } } ServiceImpl(Bus b, URL url, QName name, Class<?> cls, WebServiceFeature ... f); final void addPort(QName portName, String bindingId, String address); Executor getExecutor(); HandlerResolver getHandlerResolver(); T getPort(Class<T> serviceEndpointInterface); T getPort(Class<T> serviceEndpointInterface, WebServiceFeature... features); T getPort(QName portName, Class<T> serviceEndpointInterface); T getPort(QName portName, Class<T> serviceEndpointInterface, WebServiceFeature... features); T getPort(EndpointReferenceType endpointReference,
                            Class<T> type); T getPort(EndpointReferenceType endpointReference, Class<T> type,
                         WebServiceFeature... features); Iterator<QName> getPorts(); QName getServiceName(); URL getWSDLDocumentLocation(); void setExecutor(Executor e); void setHandlerResolver(HandlerResolver hr); Bus getBus(); @Override Dispatch<T> createDispatch(QName portName, Class<T> type, Mode mode); @Override Dispatch<T> createDispatch(QName portName,
                                          Class<T> type,
                                          Mode mode,
                                          WebServiceFeature... features); Dispatch<T> createDispatch(QName portName,
                                          Class<T> type,
                                          JAXBContext context,
                                          Mode mode,
                                          WebServiceFeature... features); @Override Dispatch<T> createDispatch(EndpointReference endpointReference,
                                          Class<T> type,
                                          Mode mode,
                                          WebServiceFeature... features); @Override Dispatch<Object> createDispatch(QName portName, JAXBContext context, Mode mode); @Override Dispatch<Object> createDispatch(QName portName,
                                           JAXBContext context,
                                           Mode mode,
                                           WebServiceFeature... features); @Override Dispatch<Object> createDispatch(EndpointReference endpointReference,
                                           JAXBContext context,
                                           Mode mode,
                                           WebServiceFeature... features); @Override T getPort(EndpointReference endpointReference, Class<T> serviceEndpointInterface,
                         WebServiceFeature... features);  }### Answer:
@Test public void testServiceImpl() throws Exception { SOAPService service = new SOAPService(); Greeter proxy = service.getSoapPort(); Client client = ClientProxy.getClient(proxy); assertEquals("bar", client.getEndpoint().get("foo")); assertNotNull("expected ConduitSelector", client.getConduitSelector()); assertTrue("unexpected ConduitSelector", client.getConduitSelector() instanceof NullConduitSelector); }