code: protected EndpointInfo createEndpointInfo() throws BusException {
          String transportId = getTransportId();
          if (transportId == null && getAddress() != null) {
              DestinationFactory df = getDestinationFactory();
              if (df == null) {
                  DestinationFactoryManager dfm = getBus().getExtension(DestinationFactoryManager.class);
                  df = dfm.getDestinationFactoryForUri(getAddress());
              }
  
              if (df != null) {
                  transportId = df.getTransportIds().get(0);
              }
          }
  
          // default to http transport
          if (transportId == null) {
              transportId = "http://schemas.xmlsoap.org/wsdl/soap/http";
          }
  
          setTransportId(transportId);
  
          EndpointInfo ei = new EndpointInfo();
          ei.setTransportId(transportId);
          ei.setName(serviceFactory.getService().getName());
          ei.setAddress(getAddress());
          ei.setProperty(PROTOBUF_MESSAGE_CLASS, messageClass);
  
          BindingInfo bindingInfo = createBindingInfo();
          ei.setBinding(bindingInfo);
  
          return ei;
      }
docs: /*
  EndpointInfo contains information form WSDL's physical part such as endpoint address, binding, transport etc. For
  JAX-RS based EndpointInfo, as there is no WSDL, these information are set manually, eg, default transport is
  http, binding is JAX-RS binding, endpoint address is from server mainline.