/** * Constructor. * * @param string $url HTTP url to SOAP endpoint. * * @access public */ function SOAP_Transport_TCP($url, $encoding = SOAP_DEFAULT_ENCODING) { parent::SOAP_Base_Object('TCP'); $this->urlparts = @parse_url($url); $this->url = $url; $this->encoding = $encoding; }
function &getTransport($url, $encoding = SOAP_DEFAULT_ENCODING) { $urlparts = @parse_url($url); if (!$urlparts['scheme']) { return SOAP_Base_Object::_raiseSoapFault("Invalid transport URI: {$url}"); } if (strcasecmp($urlparts['scheme'], 'mailto') == 0) { $transport_type = 'SMTP'; } else { if (strcasecmp($urlparts['scheme'], 'https') == 0) { $transport_type = 'HTTP'; } else { /* handle other transport types */ $transport_type = strtoupper($urlparts['scheme']); } } $transport_include = 'SOAP/Transport/' . $transport_type . '.php'; $res = @(include_once $transport_include); if (!$res && !in_array($transport_include, get_included_files())) { return SOAP_Base_Object::_raiseSoapFault("No Transport for {$urlparts['scheme']}"); } $transport_class = "SOAP_Transport_{$transport_type}"; if (!class_exists($transport_class)) { return SOAP_Base_Object::_raiseSoapFault("No Transport class {$transport_class}"); } return new $transport_class($url, $encoding); }
function SOAP_DISCO_Server($soap_server, $service_name, $service_desc = '', $import_ns = null) { parent::SOAP_Base_Object('Server'); if (!is_object($soap_server) || !get_class($soap_server) == 'soap_server') { return; } $this->_service_name = $service_name; $this->_service_ns = "urn:{$service_name}"; $this->_service_desc = $service_desc; $this->import_ns = isset($import_ns) ? $import_ns : $this->import_ns; $this->soap_server = $soap_server; $this->host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'localhost'; }
/** * Constructor. * * @param string $faultcode Error code. */ function SOAP_Base($faultcode = 'Client') { parent::SOAP_Base_Object($faultcode); $this->_resetNamespaces(); }
public static function getTransport($url, $encoding = SOAP_DEFAULT_ENCODING) { $urlparts = @parse_url($url); if (!$urlparts['scheme']) { return SOAP_Base_Object::_raiseSoapFault("Invalid transport URI: {$url}"); } if (strcasecmp($urlparts['scheme'], 'mailto') == 0) { $transport_type = 'SMTP'; } elseif (strcasecmp($urlparts['scheme'], 'https') == 0) { $transport_type = 'HTTP'; } else { /* Handle other transport types */ $transport_type = strtoupper($urlparts['scheme']); } $transport_class = "SOAP_Transport_{$transport_type}"; if (!class_exists($transport_class)) { if (!@(include_once 'SOAP/Transport/' . basename($transport_type) . '.php')) { return SOAP_Base_Object::_raiseSoapFault("No Transport for {$urlparts['scheme']}"); } } if (!class_exists($transport_class)) { return SOAP_Base_Object::_raiseSoapFault("No Transport class {$transport_class}"); } return new $transport_class($url, $encoding); }