E oo método zReadConsultaCadastro2 alterei como abaixo. Estava tendo erro no endereço pois o estado do Paraná não retorna o endereço e dava erro no $ender;
protected static function zReadConsultaCadastro2($dom)
{
$aResposta = array(
'bStat' => false,
'version' => '',
'cStat' => '',
'verAplic' => '',
'xMotivo' => '',
'UF' => '',
'IE' => '',
'CNPJ' => '',
'CPF' => '',
'dhCons' => '',
'cUF' => '',
'aCad' => array()
);
$tag = $dom->getElementsByTagName('retConsCad')->item(0);
if (! isset($tag)) {
return $aResposta;
}
$infCons = $tag->getElementsByTagName('infCons')->item(0);
$iest = !empty($infCons->getElementsByTagName('IE')->item(0)->nodeValue) ?
$infCons->getElementsByTagName('IE')->item(0)->nodeValue : '';
$cnpj = !empty($infCons->getElementsByTagName('CNPJ')->item(0)->nodeValue) ?
$infCons->getElementsByTagName('CNPJ')->item(0)->nodeValue : '';
$cpf = !empty($infCons->getElementsByTagName('CPF')->item(0)->nodeValue) ?
$infCons->getElementsByTagName('CPF')->item(0)->nodeValue : '';
$aResposta = array(
'bStat' => true,
'version' => $tag->getAttribute('versao'),
'cStat' => $infCons->getElementsByTagName('cStat')->item(0)->nodeValue,
'verAplic' => $infCons->getElementsByTagName('verAplic')->item(0)->nodeValue,
'xMotivo' => $infCons->getElementsByTagName('xMotivo')->item(0)->nodeValue,
'UF' => $infCons->getElementsByTagName('UF')->item(0)->nodeValue,
'IE' => $iest,
'CNPJ' => $cnpj,
'CPF' => $cpf,
'dhCons' => $infCons->getElementsByTagName('dhCons')->item(0)->nodeValue,
'cUF' => $infCons->getElementsByTagName('cUF')->item(0)->nodeValue,
'aCad' => array()
);
$aCad = array();
$infCad = $tag->getElementsByTagName('infCad');
if (! isset($infCad)) {
return $aResposta;
}
foreach ($infCad as $cad) {
$ender = $cad->getElementsByTagName('ender')->item(0);
$aCad[] = array(
'IE' => $cad->getElementsByTagName('IE')->item(0)->nodeValue,
'CNPJ' => $cad->getElementsByTagName('CNPJ')->item(0)->nodeValue,
'UF' => $cad->getElementsByTagName('UF')->item(0)->nodeValue,
'cSit' => $cad->getElementsByTagName('cSit')->item(0)->nodeValue,
'indCredNFe' => $cad->getElementsByTagName('indCredNFe')->item(0)->nodeValue,
'indCredCTe' => $cad->getElementsByTagName('indCredCTe')->item(0)->nodeValue,
'xNome' => $cad->getElementsByTagName('xNome')->item(0)->nodeValue,
'xFant' => !empty($cad->getElementsByTagName('xFant')->item(0)->nodeValue) ? $cad->getElementsByTagName('xFant')->item(0)->nodeValue:'',
'xRegApur' => $cad->getElementsByTagName('xRegApur')->item(0)->nodeValue,
'CNAE' => $cad->getElementsByTagName('CNAE')->item(0)->nodeValue,
'dIniAtiv' => $cad->getElementsByTagName('dIniAtiv')->item(0)->nodeValue,
'dUltSit' => $cad->getElementsByTagName('dUltSit')->item(0)->nodeValue);
if ($ender)
{
$aCad['xLgr'] = !empty($ender->getElementsByTagName('xLgr')->item(0)->nodeValue) ? $ender->getElementsByTagName('xLgr')->item(0)->nodeValue : '';
$aCad['nro'] = !empty($ender->getElementsByTagName('nro')->item(0)->nodeValue) ? $ender->getElementsByTagName('nro')->item(0)->nodeValue : '';
$aCad['xCpl'] = !empty($ender->getElementsByTagName('xCpl')->item(0)->nodeValue) ? $ender->getElementsByTagName('xCpl')->item(0)->nodeValue: '';
$aCad['xBairro'] = !empty($ender->getElementsByTagName('xBairro')->item(0)->nodeValue) ? $ender->getElementsByTagName('xBairro')->item(0)->nodeValue: '';
$aCad['cMun'] = !empty($ender->getElementsByTagName('cMun')->item(0)->nodeValue) ? $ender->getElementsByTagName('cMun')->item(0)->nodeValue: '';
$aCad['xMun'] = !empty($ender->getElementsByTagName('xMun')->item(0)->nodeValue) ? $ender->getElementsByTagName('xMun')->item(0)->nodeValue: '';
$aCad['CEP'] = !empty($ender->getElementsByTagName('CEP')->item(0)->nodeValue) ? $ender->getElementsByTagName('CEP')->item(0)->nodeValue : '';
}
}
$aResposta['aCad'] = $aCad;
return $aResposta;