示例#1
0
 /**
  * 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;
 }
示例#2
0
 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);
 }
示例#3
0
 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';
 }
示例#4
0
文件: Base.php 项目: rolwi/koala
 /**
  * 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);
 }