<?phpinclude("chilkat_9_5_0.php");
$xml = newCkXml();
$xml->put_Tag('soapenv:Envelope');
$xml->AddAttribute('xmlns:soapenv','http://schemas.xmlsoap.org/soap/envelope/');
$xml->AddAttribute('xmlns','http://ws.pc.gif.com.br/');
$xml->AddAttribute('xmlns:nfs','http://nfse.abrasf.org.br');
$xml->AddAttribute('xmlns:ds','http://www.w3.org/2000/09/xmldsig#');
$xml->UpdateChildContent('soapenv:Header','');
$xml->UpdateAttrAt('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote',true,'versao','?');
$xml->UpdateChildContent('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote|CNPJ','token string');
$xml->UpdateChildContent('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote|cLote','string');
$xml->UpdateAttrAt('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote|ds:Signature',true,'Id','?');
$xml->UpdateAttrAt('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote|ds:Signature|ds:SignedInfo',true,'Id','?');
$xml->UpdateAttrAt('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote|ds:Signature|ds:SignedInfo|ds:CanonicalizationMethod',true,'Algorithm','http://www.w3.org/TR/2001/REC-xml-c14n-20010315');
$xml->UpdateAttrAt('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote|ds:Signature|ds:SignedInfo|ds:SignatureMethod',true,'Algorithm','http://www.w3.org/2000/09/xmldsig#rsa-sha1');
$xml->UpdateAttrAt('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote|ds:Signature|ds:SignedInfo|ds:Reference',true,'Id','?');
$xml->UpdateAttrAt('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote|ds:Signature|ds:SignedInfo|ds:Reference',true,'URI','?');
$xml->UpdateAttrAt('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote|ds:Signature|ds:SignedInfo|ds:Reference',true,'Type','?');
$xml->UpdateAttrAt('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote|ds:Signature|ds:SignedInfo|ds:Reference|ds:Transforms|ds:Transform',true,'Algorithm','?');
$xml->UpdateChildContent('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote|ds:Signature|ds:SignedInfo|ds:Reference|ds:Transforms|ds:Transform|ds:XPath','string');
$xml->UpdateAttrAt('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote|ds:Signature|ds:SignedInfo|ds:Reference|ds:DigestMethod',true,'Algorithm','http://www.w3.org/2000/09/xmldsig#sha1');
$xml->UpdateChildContent('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote|ds:Signature|ds:SignedInfo|ds:Reference|ds:DigestValue','BASE64_DATA');
$xml->UpdateChildContent('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote|ds:Signature|ds:SignatureValue','...');
$xml->UpdateAttrAt('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote|ds:Signature|ds:KeyInfo',true,'Id','?');
$xml->UpdateChildContent('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote|ds:Signature|ds:KeyInfo|ds:X509Data|ds:X509SubjectName','string');
$xml->UpdateChildContent('soapenv:Body|cancelarLoteRequest|pedidoCancelamentoLote|ds:Signature|ds:KeyInfo|ds:X509Data|ds:X509Certificate','BqozVXeZZg==');
// In a SOAP HTTP request, including the XML declaration (<?xml version="1.0" encoding="UTF-8"?>) in the XML body is generally not required.
$xml->put_EmitXmlDecl(false);
$soapRequestBody = $xml->getXml();
$endpoint = 'https://canoas-homol.infisc.com.br/services/nfse/ws/Servicos';
$soapAction = '';
// For SOAP requests, the standard Content-Type is usually set to "text/xml" or "application/soap+xml"
$contentType = 'text/xml';
$http = newCkHttp();
$http->ClearHeaders();
$http->SetRequestHeader('Content-Type',$contentType);
$http->SetRequestHeader('SOAPAction',$soapAction);
// resp is a CkHttpResponse
$resp = $http->PostXml($endpoint,$soapRequestBody,'utf-8');
if ($http->get_LastMethodSuccess() == false) {
print $http->lastErrorText() . "\n";
print'Failed to send SOAP request.' . "\n";
exit;
}
// Get the XML response body.
$responseXml = newCkXml();
$resp->GetBodyXml($responseXml);
$statusCode = $resp->get_StatusCode();
print'response status code: ' . $statusCode . "\n";
// If the status code does not indicate succcess, then show the response XML,
// which probably contains error information.if ($statusCode != 200) {
print $responseXml->getXml() . "\n";
exit;
}
print $responseXml->getXml() . "\n";
// Parse the successful SOAP response XML.// This is a sample of the response XML, but the namespace prefixes will be different.
// We can parse the result using "*" for the namespace prefixes (see below).
$Envelope_xmlns = $responseXml->getAttrValue('xmlns');
$confirmaCancelamentoLote_versao = $responseXml->chilkatPath('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|(versao)');
$CNPJ = $responseXml->getChildContent('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|CNPJ');
$cLote = $responseXml->getChildContent('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|cLote');
$dhRecbto = $responseXml->getChildContent('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|dhRecbto');
$sit = $responseXml->getChildContent('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|sit');
$mot = $responseXml->getChildContent('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|mot');
$Signature_Id = $responseXml->chilkatPath('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|*:Signature|(Id)');
$SignedInfo_Id = $responseXml->chilkatPath('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|*:Signature|*:SignedInfo|(Id)');
$CanonicalizationMethod_Algorithm = $responseXml->chilkatPath('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|*:Signature|*:SignedInfo|*:CanonicalizationMethod|(Algorithm)');
$SignatureMethod_Algorithm = $responseXml->chilkatPath('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|*:Signature|*:SignedInfo|*:SignatureMethod|(Algorithm)');
$Reference_Id = $responseXml->chilkatPath('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|*:Signature|*:SignedInfo|*:Reference|(Id)');
$Reference_URI = $responseXml->chilkatPath('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|*:Signature|*:SignedInfo|*:Reference|(URI)');
$Reference_Type = $responseXml->chilkatPath('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|*:Signature|*:SignedInfo|*:Reference|(Type)');
$Transform_Algorithm = $responseXml->chilkatPath('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|*:Signature|*:SignedInfo|*:Reference|*:Transforms|*:Transform|(Algorithm)');
$XPath = $responseXml->getChildContent('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|*:Signature|*:SignedInfo|*:Reference|*:Transforms|*:Transform|*:XPath');
$DigestMethod_Algorithm = $responseXml->chilkatPath('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|*:Signature|*:SignedInfo|*:Reference|*:DigestMethod|(Algorithm)');
$DigestValue = $responseXml->getChildContent('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|*:Signature|*:SignedInfo|*:Reference|*:DigestValue');
$SignatureValue = $responseXml->getChildContent('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|*:Signature|*:SignatureValue');
$KeyInfo_Id = $responseXml->chilkatPath('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|*:Signature|*:KeyInfo|(Id)');
$X509SubjectName = $responseXml->getChildContent('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|*:Signature|*:KeyInfo|*:X509Data|*:X509SubjectName');
$X509Certificate = $responseXml->getChildContent('*:Body|cancelarLoteResponse|confirmaCancelamentoLote|*:Signature|*:KeyInfo|*:X509Data|*:X509Certificate');
?>