function CallWSAA($CMS) { $client = new SoapClient(WSDLA, array('soap_version' => SOAP_1_2, 'location' => URL, 'trace' => 1, 'exceptions' => 0)); $results = $client->loginCms(array('in0' => $CMS)); file_put_contents("request-loginCms.xml", $client->__getLastRequest()); file_put_contents("response-loginCms.xml", $client->__getLastResponse()); if (is_soap_fault($results)) { exit("SOAP Fault: " . $results->faultcode . "\n" . $results->faultstring . "\n"); } return $results->loginCmsReturn; }
public static function CallWSAA($CMS) { # Now we create a context to specify remote web server certificate checking # If you don want to check remote server, you may set verify_peer to FALSE. $ctx = stream_context_create(array('ssl' => array('CN_match' => sfConfig::get('REMCN'), 'cafile' => sfConfig::get('REMCACERT'), 'allow_self_signed' => sfConfig::get('REMSELFSIGN'), 'verify_peer' => sfConfig::get('REMVERIFY')))); $client = new SoapClient("wsdls/" . sfConfig::get('WSDL'), array('stream_context' => $ctx, 'soap_version' => SOAP_1_2, 'location' => sfConfig::get('WSAAURL'), 'exceptions' => 0)); $results = $client->loginCms(array('in0' => $CMS)); if (is_soap_fault($results)) { throw new WsaaException(0, $results->faultcode . $results->faultstring); } return $results->loginCmsReturn; }
function CallWSAA($CMS) { # Now we create a context to specify remote web server certificate checking # If you don want to check remote server, you may set verify_peer to FALSE. $ctx = stream_context_create(array('ssl' => array('CN_match' => REMCN, 'cafile' => REMCACERT, 'allow_self_signed' => REMSELFSIGN, 'verify_peer' => REMVERIFY))); $client = new SoapClient(WSDL, array('stream_context' => $ctx, 'soap_version' => SOAP_1_2, 'location' => WSAAURL, 'exceptions' => 0)); $results = $client->loginCms(array('in0' => $CMS)); if (is_soap_fault($results)) { exit("SOAP Fault: " . $results->faultcode . "\n" . $results->faultstring . "\n"); } return $results->loginCmsReturn; }
/** * @Route("/", name="home") * @Method({"GET"}) * @Template */ public function indexAction() { $currentDate = new \DateTime('now'); $afipParameters = $this->container->getParameter('afip-ws'); $tmpDir = $this->container->getParameter('tmpDir'); $wsaa = $afipParameters['wsaa']; $wsfev1 = $afipParameters['wsfev1']; $cert = realpath($afipParameters['cert']); $pri = realpath($afipParameters['pri']); $traFile = '/tra-' . $currentDate->format("YmdHis") . '.xml'; $traTmpFile = '/tra-' . $currentDate->format("YmdHis") . '.tmp'; $taFIle = '/ta-' . $currentDate->format("YmdHis") . '.xml'; // Crear tra file con el request al servicio $tra = new \SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?>' . '<loginTicketRequest version="1.0">' . '</loginTicketRequest>'); $tra->addChild('header'); $tra->header->addChild('uniqueId', date('U')); $tra->header->addChild('generationTime', date('c', date('U') - 60)); $tra->header->addChild('expirationTime', date('c', date('U') + 60)); $tra->addChild('service', 'wsfe'); $tra->asXML($tmpDir . $traFile); // This functions makes the PKCS#7 signature using TRA as input file, CERT and PRIVATEKEY $status = openssl_pkcs7_sign($tmpDir . $traFile, $tmpDir . $traTmpFile, 'file://' . $cert, array('file://' . $pri, 'umadsysadmin'), array(), !PKCS7_DETACHED); if (!$status) { exit("ERROR generating PKCS#7 signature"); } $sign = fopen($tmpDir . $traTmpFile, "r"); $i = 0; $cms = ""; while (!feof($sign)) { $buffer = fgets($sign); if ($i++ >= 4) { $cms .= $buffer; } } fclose($sign); //unlink($tmpDir.$traFile); //unlink($tmpDir.$traTmpFile); //var_dump($cms); $client = new \SoapClient($wsaa, array('soap_version' => SOAP_1_2, 'trace' => 1, 'exceptions' => 0)); $result = $client->loginCms(array('in0' => $cms)); file_put_contents($tmpDir . '/loginCmsRequest-' . $currentDate->format("YmdHis") . '.xml', $client->__getLastRequest()); file_put_contents($tmpDir . '/loginCmsResponse-' . $currentDate->format("YmdHis") . '.xml', $client->__getLastResponse()); if (is_soap_fault($result)) { exit("SOAP Fault: " . $result->faultcode . "\n" . $result->faultstring . "\n"); } file_put_contents($tmpDir . $taFIle, $result->loginCmsReturn); /*$ta = new \SimpleXMLElement(file_get_contents('/var/www/efact-afip.com.ar/ws-source/xml/ta-20151014163631.xml')); $source = $ta->header->source; $destination = $ta->header->destination; $uniqueId = $ta->header->uniqueId; $generationTime = $ta->header->generationTime; $expirationTime = $ta->header->expirationTime; $token = (string) $ta->credentials->token; $sign = (string) $ta->credentials->sign; //unlink($xmlDir.$taFIle); $clientWsfe = new \SoapClient($wsfev1, array('soap_version' => SOAP_1_2, 'trace' => 1, 'exceptions' => 0)); $parameters = new \StdClass(); $parameters->Auth = new \StdClass(); $parameters->Auth->Token = $token; $parameters->Auth->Sign = $sign; $parameters->Auth->Cuit = '27953948406'; $parameters->FeCAEReq = new \StdClass(); $parameters->FeCAEReq->FeCabReq = new \StdClass(); $parameters->FeCAEReq->FeCabReq->CantReg = 1; $parameters->FeCAEReq->FeCabReq->PtoVta = 12; $parameters->FeCAEReq->FeCabReq->CbteTipo = 1; $parameters->FeCAEReq->FeDetReq = new \StdClass(); $parameters->FeCAEReq->FeDetReq->FECAEDetRequest = new \StdClass(); $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->Concepto = 1; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->DocTipo = 80; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->DocNro = 20111111112; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->CbteDesde = 1; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->CbteHasta = 1; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->CbteFch = 20100903; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->ImpTotal = 184.05; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->ImpTotConc = 0; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->ImpNeto = 150; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->ImpOpEx = 0; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->ImpTrib = 7.8; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->ImpIVA = 26.25; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->FchServDesde = ''; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->FchServHasta = ''; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->FchVtoPago = ''; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->MonId = 'PES'; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->MonCotiz = 1; $tributo1 = new \StdClass(); $tributo1->Id = 99; $tributo1->Desc = 'Impuesto Municipal Matanza'; $tributo1->BaseImp = 150; $tributo1->Alic = 5.2; $tributo1->Importe = 7.8; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->Tributos = array($tributo1); $iva1 = new \StdClass(); $iva1->Id = 5; $iva1->BaseImp = 100; $iva1->Importe = 21; $iva2 = new \StdClass(); $iva2->Id = 4; $iva2->BaseImp = 50; $iva2->Importe = 5.25; $parameters->FeCAEReq->FeDetReq->FECAEDetRequest->Iva = array($iva1, $iva2); //var_dump($parameters); $feCAESolicitar = $clientWsfe->FECAESolicitar($parameters); if (is_soap_fault($feCAESolicitar)) { exit("SOAP Fault: ".$feCAESolicitar->faultcode."\n".$feCAESolicitar->faultstring."\n"); } print_r($feCAESolicitar->FECAESolicitarResult); //$feAuthRequest = $clientWsfe->FEAuthRequest(); $feAuthRequest = $clientWsfe->__soapCall('FEAuthRequest', array('Token' => $token, 'Sign' => $sign, 'Cuit' => '27953948406')); var_dump(get_class_methods($clientWsfe)); var_dump($clientWsfe->__getTypes()[1]); var_dump($clientWsfe->__getFunctions()); if (is_soap_fault($feAuthRequest)) { exit("SOAP Fault: ".$feAuthRequest->faultcode."\n".$feAuthRequest->faultstring."\n"); }*/ return array('name' => ""); }