예제 #1
0
 private static function getNamingTable($nameurl)
 {
     $nametbl = null;
     $nrequest = new NamingRequest(NamingRequest::reqVersion);
     $request = new Request($nrequest->toXMLString());
     $set = new RequestSet(WebtopNaming::NAMING_SERVICE);
     $set->addRequest($request);
     //        try {
     $responses = PLLClient::sendURLRequestSet($nameurl, $set);
     if (count($responses) != 1) {
         throw new Exception("Unexpected response");
     }
     $res = $responses[0];
     $nres = NamingResponse::parseXML($res->getContent());
     if ($nres->getException() != null) {
         throw new Exception($nres->getException());
     }
     $nametbl = $nres->getNamingTable();
     //        } catch (SendRequestException sre) {
     //            debug.error("Naming service connection failed for " + nameurl, sre);
     //        } catch (Exception e) {
     //            debug.error("getNamingTable: ", e);
     //        }
     return $nametbl;
 }
예제 #2
0
 private static function send($url, $cookies, RequestSet $set, $cookieTable)
 {
     $bits = parse_url($url);
     $host = $bits['host'];
     $port = isset($bits['port']) ? $bits['port'] : 80;
     $path = isset($bits['path']) ? $bits['path'] : '/';
     $conn = new HttpClient($host, $port);
     $conn->setCookies($cookieTable);
     $conn->setContentType("text/xml;charset=UTF-8");
     // Output ...
     $xml = $set->toXMLString();
     if (!$conn->post($path, $xml)) {
         throw new Exception("PLLClient send exception");
     }
     // Input ...
     $in_string = $conn->getContent();
     $cookieTable = $conn->getCookies();
     $resset = ResponseSet::parseXML($in_string);
     return $resset->getResponses();
 }