return createEndpointIFBaseProxy(wsepr,portName,portInterface,features, spi);
}
public <T> T getPort(Class<T> portInterface, WebServiceFeature... features) {
//get the portType from SEI
QName portTypeName = RuntimeModeler.getPortTypeName(portInterface);
WSDLServiceImpl wsdlService = this.wsdlService;
if(wsdlService == null) {
// assigning it to local variable and not setting it back to this.wsdlService intentionally
// as we don't want to include the service instance with information gathered from sei
wsdlService = getWSDLModelfromSEI(portInterface);
//still null? throw error need wsdl metadata to create a proxy
if(wsdlService == null) {
throw new WebServiceException(ProviderApiMessages.NO_WSDL_NO_PORT(portInterface.getName()));
}
}
//get the first port corresponding to the SEI
WSDLPortImpl port = wsdlService.getMatchingPort(portTypeName);
if (port == null)
throw new WebServiceException(ClientMessages.UNDEFINED_PORT_TYPE(portTypeName));
QName portName = port.getName();
return getPort(portName, portInterface,features);
}