当前位置: 首页>>代码示例>>PHP>>正文


PHP SoapClient::__doRequest方法代码示例

本文整理汇总了PHP中SoapClient::__doRequest方法的典型用法代码示例。如果您正苦于以下问题:PHP SoapClient::__doRequest方法的具体用法?PHP SoapClient::__doRequest怎么用?PHP SoapClient::__doRequest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SoapClient的用法示例。


在下文中一共展示了SoapClient::__doRequest方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: DOMDocument

 function __doRequest($request, $location, $saction, $version)
 {
     $dom = new DOMDocument();
     $dom->loadXML($request);
     $objWSSE = new WSSESoap($dom);
     /* Sign all headers to include signing the WS-Addressing headers */
     $objWSSE->signAllHeaders = TRUE;
     $objWSSE->addTimestamp();
     /* create new XMLSec Key using RSA SHA-1 and type is private key */
     $objKey = new XMLSecurityKey(XMLSecurityKey::RSA_SHA1, array('type' => 'private'));
     /* load the private key from file - last arg is bool if key in file (TRUE) or is string (FALSE) */
     $objKey->loadKey(PRIVATE_KEY, TRUE);
     // Sign the message - also signs appropraite WS-Security items
     $objWSSE->signSoapDoc($objKey);
     /* Add certificate (BinarySecurityToken) to the message and attach pointer to Signature */
     $token = $objWSSE->addBinaryToken(file_get_contents(CERT_FILE));
     $objWSSE->attachTokentoSig($token);
     $request = $objWSSE->saveXML();
     $dom = new DOMDocument();
     $dom->loadXML($request);
     $objWSA = new WSASoap($dom);
     $objWSA->addAction($saction);
     $objWSA->addTo($location);
     $objWSA->addMessageID();
     $objWSA->addReplyTo();
     $request = $objWSA->getDoc()->saveXML();
     return parent::__doRequest($request, $location, $saction, $version);
 }
开发者ID:Deeplace,项目名称:mpay_integration,代码行数:28,代码来源:client.php

示例2: __doRequest

 /**
  * __doRequest.
  * @param  string $request
  * @param  string$location
  * @param  string $action
  * @param  int $version
  * @param  int $oneWay
  * @return string
  */
 public function __doRequest($request, $location, $action, $version, $oneWay = 0)
 {
     $aFind = [':ns1', 'ns1:', "\n", "\r"];
     $sReplace = '';
     $newrequest = str_replace($aFind, $sReplace, $request);
     return parent::__doRequest($newrequest, $location, $action, $version, $oneWay);
 }
开发者ID:phpnfe,项目名称:tools,代码行数:16,代码来源:CorrectedSoapClient.php

示例3:

 function __doRequest($request, $location, $action, $version, $one_way = 0)
 {
     $dom = new \DOMDocument('1.0', 'UTF-8');
     $dom->preserveWhiteSpace = false;
     $dom->loadXML($request);
     Yii::trace($request);
     /** Setting namespaces **/
     $dom->documentElement->setAttribute('xmlns:xs', 'http://www.w3.org/2001/XMLSchema');
     $dom->documentElement->setAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
     $dom->documentElement->setAttribute('xmlns:gns', 'http://nordu.net/namespaces/2013/12/gnsbod');
     $dom->documentElement->setAttribute('xmlns:saml', 'urn:oasis:names:tc:SAML:2.0:assertion');
     $dom->documentElement->setAttribute('xmlns:type', 'http://schemas.ogf.org/nsi/2013/12/connection/types');
     $dom->documentElement->setAttribute('xmlns:head', 'http://schemas.ogf.org/nsi/2013/12/framework/headers');
     /** Generating Correlation ID */
     $dom->getElementsByTagName("correlationId")->item(0)->nodeValue = 'urn:uuid:' . $this->newGuid();
     /** Setting prefixes of the elements **/
     $this->changeTag($dom, "ConnectionTrace", "gns:ConnectionTrace");
     $this->changeTag($dom, "reserve", "type:reserve");
     $this->changeTag($dom, "reserveCommit", "type:reserveCommit");
     $this->changeTag($dom, "provision", "type:provision");
     $this->changeTag($dom, "p2ps", "p2p:p2ps");
     /** Setting attributes **/
     $this->setAttributeByTag($dom, "Connection", "index", "0");
     $this->setAttributeByTag($dom, "criteria", "version", $this->version);
     $this->setAttributeByTag($dom, "p2p:p2ps", "xmlns:p2p", "http://schemas.ogf.org/nsi/2013/12/services/point2point");
     $this->setAttributeByTag($dom, "parameter", "type", "protection");
     $this->setEro($dom);
     $request = $dom->saveXML();
     Yii::trace($request);
     return parent::__doRequest($request, $location, $action, $version);
 }
开发者ID:ufrgs-hyman,项目名称:meican,代码行数:31,代码来源:ConnectionRequesterClient.php

示例4: __doRequest

 public function __doRequest($request, $location, $action, $version, $one_way = null)
 {
     $api = $this->getBaseApi();
     $user = $api->getConfigData('merchant_id');
     $password = $api->getConfigData('security_key');
     $soapHeader = "<SOAP-ENV:Header xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:wsse=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\"><wsse:Security SOAP-ENV:mustUnderstand=\"1\"><wsse:UsernameToken><wsse:Username>{$user}</wsse:Username><wsse:Password Type=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText\">{$password}</wsse:Password></wsse:UsernameToken></wsse:Security></SOAP-ENV:Header>";
     $requestDOM = new DOMDocument('1.0');
     $soapHeaderDOM = new DOMDocument('1.0');
     $requestDOM->loadXML($request);
     $soapHeaderDOM->loadXML($soapHeader);
     $node = $requestDOM->importNode($soapHeaderDOM->firstChild, true);
     $requestDOM->firstChild->insertBefore($node, $requestDOM->firstChild->firstChild);
     $request = $requestDOM->saveXML();
     if ($api->getConfigData('debug')) {
         /*Clean up PAN and CV2 for debug*/
         $clean = simplexml_import_dom($requestDOM);
         $del = $clean->xpath('//ns1:accountNumber | //ns1:cvNumber');
         foreach ($del as $el) {
             $el[0] = '';
         }
         $debugrequest = $clean->asXML();
         $debug = Mage::getModel('cybersource/api_debug')->setAction($action)->setRequestBody($debugrequest)->save();
     }
     $response = parent::__doRequest($request, $location, $action, $version);
     if (!empty($debug)) {
         $debug->setResponseBody($response)->save();
     }
     return $response;
 }
开发者ID:sonassi,项目名称:mage-cybersource,代码行数:29,代码来源:ExtendedSoapClient.php

示例5: DomDocument

 function __doRequest($request, $location, $action, $version)
 {
     $dom = new DomDocument('1.0', 'UTF-8');
     $dom->preserveWhiteSpace = false;
     $dom->loadXML($request);
     $hdr = $dom->createElement('soapenv:Header');
     $secNode = $dom->createElement("wsse:Security");
     $secNode->setAttribute("soapenv:mustUnderstand", "1");
     $secNode->setAttribute("xmlns:wsse", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd");
     $usernameTokenNode = $dom->createElement("wsse:UsernameToken");
     $usernameTokenNode->setAttribute("wsu:Id", "UsernameToken-1");
     $usernameTokenNode->setAttribute("xmlns:wsu", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd");
     $usrNode = $dom->createElement("wsse:Username");
     $usrNode->appendChild($dom->createTextNode(WS_USER));
     $pwdNode = $dom->createElement("wsse:Password");
     $pwdNode->setAttribute("Type", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText");
     $pwdNode->appendchild($dom->createTextnode(WS_PWD));
     $usernameTokenNode->appendChild($usrNode);
     $usernameTokenNode->appendChild($pwdNode);
     $secNode->appendChild($usernameTokenNode);
     $hdr->appendChild($secNode);
     $dom->documentElement->insertBefore($hdr, $dom->documentElement->firstChild);
     $request = $dom->saveXML();
     $request = str_replace("SOAP-ENV", "soapenv", $request);
     $request = str_replace("ns1", "cgt", $request);
     $request = str_replace('<?xml version="1.0" encoding="UTF-8"?>', '', $request);
     //  echo "Este es el nuevo XML: " . print_r($request, true);
     return parent::__doRequest($request, $location, $action, $version);
 }
开发者ID:vallejos,项目名称:samples,代码行数:29,代码来源:ContentGatewayBilling.php

示例6: __doRequest

 /**
  * Do request into regon server
  *
  * @param string $request request
  * @param string $location location
  * @param string $action action
  * @param int $version version
  * @return string response
  */
 public function __doRequest($request, $location, $action, $version = SOAP_1_2, $one_way = NULL)
 {
     $location = $this->location;
     $response = parent::__doRequest($request, $location, $action, $version, $one_way);
     $response = stristr(stristr($response, "<s:"), "</s:Envelope>", true) . "</s:Envelope>";
     return $response;
 }
开发者ID:jareqpl,项目名称:GusApi,代码行数:16,代码来源:SoapClient.php

示例7: __doRequest

 public function __doRequest($request, $location, $action, $version, $one_way = 0)
 {
     $response = parent::__doRequest($request, $location, $action, $version, $one_way);
     // strip away everything but the xml.
     $response = preg_replace('#^.*(<\\?xml.*>)[^>]*$#s', '$1', $response);
     return $response;
 }
开发者ID:caesarihidayatunN,项目名称:TA,代码行数:7,代码来源:soapClientNG.php

示例8: __doRequest

 /**
  * Do request
  *
  * @param string $request
  * @param string $location
  * @param string $action
  * @param int $version
  * @param int $one_way
  * @return string
  */
 public function __doRequest($request, $location, $action, $version, $one_way = 0)
 {
     $this->_logRequest($location, $action, $version, $request);
     $response = parent::__doRequest($request, $location, $action, $version, $one_way);
     $this->_logResponse($location, $action, $version, $response);
     return $response;
 }
开发者ID:AleksNesh,项目名称:pandora,代码行数:17,代码来源:Extsoap.php

示例9: __doRequest

 /**
  * __doRequest
  *
  * @param  string $request
  * @param  string $location
  * @param  string $action
  * @param  int    $version
  * @param  int    $oneWay
  * @return string
  */
 public function __doRequest($request, $location, $action, $version, $oneWay = 0)
 {
     $aFind = array(":ns1", "ns1:", "\n", "\r");
     $sReplace = '';
     $newrequest = str_replace($aFind, $sReplace, $request);
     return parent::__doRequest($newrequest, $location, $action, $version, $oneWay);
 }
开发者ID:fmertins,项目名称:nfephp,代码行数:17,代码来源:CorrectedSoapClient.php

示例10: __doRequest

 public function __doRequest($request, $location, $action, $version, $one_way = FALSE)
 {
     if (!$this->timeout) {
         // Call via parent because we require no timeout
         $response = parent::__doRequest($request, $location, $action, $version, $one_way);
     } else {
         // Call via Curl and use the timeout
         $curl = curl_init($location);
         curl_setopt($curl, CURLOPT_VERBOSE, FALSE);
         curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
         curl_setopt($curl, CURLOPT_POST, TRUE);
         curl_setopt($curl, CURLOPT_POSTFIELDS, $request);
         curl_setopt($curl, CURLOPT_HEADER, FALSE);
         curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: text/xml"));
         curl_setopt($curl, CURLOPT_TIMEOUT, $this->timeout);
         $response = curl_exec($curl);
         if (curl_errno($curl)) {
             throw new Exception(curl_error($curl));
         }
         curl_close($curl);
     }
     // Return?
     if (!$one_way) {
         return $response;
     }
 }
开发者ID:alachaum,项目名称:timetrex,代码行数:26,代码来源:SoapClientTimeout.class.php

示例11: DOMDocument

	function __doRequest($request, $location, $saction, $version) {
		$doc = new DOMDocument();
		$doc->loadXML($request);
		$objWSSE = new WSSESoap($doc);
		$objWSSE->addUserToken($this->username, $this->password, FALSE);
		return parent::__doRequest($objWSSE->saveXML(), $location, $saction, $version);
   }
开发者ID:sushilbshinde,项目名称:ezpublish-study,代码行数:7,代码来源:exacttarget_soap_client.php

示例12: __doRequest

 public function __doRequest($request, $location, $saction, $version)
 {
     $doc = new DOMDocument('1.0');
     $doc->loadXML($request);
     $objWSSE = new WSSESoap($doc);
     /* add Timestamp with no expiration timestamp */
     $objWSSE->addTimestamp();
     /* create new XMLSec Key using AES256_CBC and type is private key */
     $objKey = new XMLSecurityKey(XMLSecurityKey::RSA_SHA1, array('type' => 'private'));
     /* load the private key from file - last arg is bool if key in file (true) or is string (false) */
     $objKey->loadKey(PRIVATE_KEY, true);
     /* Sign the message - also signs appropiate WS-Security items */
     $options = array("insertBefore" => false);
     $objWSSE->signSoapDoc($objKey, $options);
     /* Add certificate (BinarySecurityToken) to the message */
     $token = $objWSSE->addBinaryToken(file_get_contents(CERT_FILE));
     /* Attach pointer to Signature */
     $objWSSE->attachTokentoSig($token);
     $objKey = new XMLSecurityKey(XMLSecurityKey::AES256_CBC);
     $objKey->generateSessionKey();
     $siteKey = new XMLSecurityKey(XMLSecurityKey::RSA_OAEP_MGF1P, array('type' => 'public'));
     $siteKey->loadKey(SERVICE_CERT, true, true);
     $options = array("KeyInfo" => array("X509SubjectKeyIdentifier" => true));
     $objWSSE->encryptSoapDoc($siteKey, $objKey, $options);
     $retVal = parent::__doRequest($objWSSE->saveXML(), $location, $saction, $version);
     $doc = new DOMDocument();
     $doc->loadXML($retVal);
     $options = array("keys" => array("private" => array("key" => PRIVATE_KEY, "isFile" => true, "isCert" => false)));
     $objWSSE->decryptSoapDoc($doc, $options);
     return $doc->saveXML();
 }
开发者ID:robrichards,项目名称:wse-php,代码行数:31,代码来源:soap-sign-encrypt.php

示例13: NewDocRequest

function NewDocRequest($order_id)
{
    global $customer_id, $abo_id;
    FB::info('NewDocRequest Nummer' . $abo_id);
    if (SOAP_SERVER != '') {
        $client = new SoapClient(null, array('location' => SOAP_SERVER, 'uri' => SOAP_NAMESPACE, 'trace' => true, 'connection_timeout' => 5));
        $response = $client->__doRequest('<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
		  <SOAP-ENV:Body>
			<NewDocRequest xmlns="test">
				<Nummer>' . $abo_id . '</Nummer>
				<Soort>B</Soort>
				<Weborder>' . $order_id . '</Weborder>
			</NewDocRequest>
		  </SOAP-ENV:Body>
		</SOAP-ENV:Envelope>', SOAP_SERVER, SOAP_NAMESPACE, SOAP_1_2);
        if ($response) {
            $dom = new DOMDocument();
            $dom->loadXML($response);
            $xPath = new DOMXPath($dom);
            $result = array();
            if ($xPath->evaluate("//Status")->item(0)->nodeValue == 0) {
                $result = $xPath->evaluate("//StatusTekst")->item(0)->nodeValue;
            } else {
                $result = $xPath->evaluate("//Document")->item(0)->nodeValue;
            }
        }
    }
    return $result;
}
开发者ID:CristianCCIT,项目名称:shop4office,代码行数:29,代码来源:NewDocRequest.php

示例14: __doRequest

 public function __doRequest($request, $location, $action, $version = SOAP_1_1, $one_way = NULL)
 {
     $xml = explode("\r\n", parent::__doRequest($request, $location, $action, $version, $one_way = NULL));
     dump($xml);
     $response = preg_replace('/^(\\x00\\x00\\xFE\\xFF|\\xFF\\xFE\\x00\\x00|\\xFE\\xFF|\\xFF\\xFE|\\xEF\\xBB\\xBF)/', "", $xml[5]);
     return $response;
 }
开发者ID:TMSolution,项目名称:GamificationBundle,代码行数:7,代码来源:SoapClientNG.php

示例15: __doRequest

 /**
  * __doRequest override of SoapClient
  *
  * @param string $request The XML SOAP request.
  * @param string $location The URL to request.
  * @param string $action The SOAP action.
  * @param int $version The SOAP version.
  * @param int|null $oneWay
  * @uses parent::__doRequest
  * @return string The XML SOAP response.
  * @throws Exception When PHP XSL extension is not enabled or WSDL file isn't readable.
  */
 public function __doRequest($request, $location, $action, $version, $oneWay = null)
 {
     if (!extension_loaded('xsl')) {
         throw new Exception('PHP XSL extension is not enabled.');
     }
     $newRequest = $this->transformIncomingRequest($request);
     return parent::__doRequest($newRequest, $location, $action, $version, $oneWay);
 }
开发者ID:YugoR,项目名称:amadeus-ws-client,代码行数:20,代码来源:SoapClient.php


注:本文中的SoapClient::__doRequest方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。