1997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 2997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yupackage org.ksoap2.transport; 3997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 4997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yuimport java.io.IOException; 5997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yuimport java.net.MalformedURLException; 6997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yuimport java.net.URL; 7997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 8997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu/** 9997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu * HttpsTransportSE is a simple transport for https protocal based connections. It creates a #HttpsServiceConnectionSE 10997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu * with the provided parameters. 11997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu * 12997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu * @author Manfred Moser <manfred@simpligility.com> 13997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu */ 14997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yupublic class HttpsTransportSE extends HttpTransportSE { 15997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 16997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu static final String PROTOCOL = "https"; 17997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 18997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu private ServiceConnection serviceConnection = null; 19997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu private final String host; 20997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu private final int port; 21997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu private final String file; 22997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu private final int timeout; 23997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 24997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu public HttpsTransportSE(String host, int port, String file, int timeout) { 25997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu super(HttpsTransportSE.PROTOCOL + "://" + host + ":" + port + file); 26997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu System.out.println("Establistion connection to: " + HttpsTransportSE.PROTOCOL + "://" 27997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu + host + ":" + port + file); 28997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu this.host = host; 29997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu this.port = port; 30997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu this.file = file; 31997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu this.timeout = timeout; 32997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu } 33997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 34997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu /** 35997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu * Returns the HttpsServiceConnectionSE and creates it if necessary 36997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu * @see org.ksoap2.transport.HttpsTransportSE#getServiceConnection() 37997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu */ 38997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu public ServiceConnection getServiceConnection() throws IOException 39997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu { 40997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu if (serviceConnection == null) { 41997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu serviceConnection = new HttpsServiceConnectionSE(host, port, file, timeout); 42997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu } 43997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu return serviceConnection; 44997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu } 45997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 46997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu public String getHost() { 47997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 48997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu String retVal = null; 49997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 50997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu try { 51997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu retVal = new URL(url).getHost(); 52997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu } catch (MalformedURLException e) { 53997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu e.printStackTrace(); 54997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu } 55997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 56997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu return retVal; 57997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu } 58997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 59997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu public int getPort() { 60997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 61997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu int retVal = -1; 62997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 63997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu try { 64997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu retVal = new URL(url).getPort(); 65997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu } catch (MalformedURLException e) { 66997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu e.printStackTrace(); 67997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu } 68997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 69997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu return retVal; 70997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu } 71997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 72997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu public String getPath() { 73997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 74997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu String retVal = null; 75997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 76997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu try { 77997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu retVal = new URL(url).getPath(); 78997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu } catch (MalformedURLException e) { 79997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu e.printStackTrace(); 80997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu } 81997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu 82997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu return retVal; 83997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu } 84997171ed3fdf8baf96d8fdf9dd3201a459327d89Ryan Yu} 85