function libCorpUpdatePessoaJuridica($ctPessoaJuridicaUpdate, $userCredential = NULL)
{
    Registry::factory()->setCredential($userCredential);
    $xmlResult = '<result><status>%s</status><errocode>%s</errocode><response>%s</response></result>';
    try {
        $voPessoa = PessoaValueObject::factory()->loadData($ctPessoaJuridicaUpdate);
        $voPessoaJuridica = PessoaJuridicaValueObject::factory()->loadData($ctPessoaJuridicaUpdate);
        $voPessoaJuridica = PessoaJuridicaBusiness::factory()->updatePessoaJuridica($voPessoa, $voPessoaJuridica);
        return sprintf($xmlResult, 'success', '00000', $voPessoaJuridica->toXml());
    } catch (\Exception $excp) {
        return sprintf($xmlResult, 'failure', $excp->getCode(), $excp->getMessage());
    }
}
function libCorpSavePessoaJuridica($ctSavePessoaJuridica, $userCredential = NULL)
{
    Registry::factory()->setCredential($userCredential);
    $xmlResult = '<result><status>%s</status><errocode>%s</errocode><response>%s</response></result>';
    try {
        if (!isset($ctSavePessoaJuridica['inTipoEstabelecimento'])) {
            $ctSavePessoaJuridica['inTipoEstabelecimento'] = TRUE;
        }
        $voPessoa = PessoaValueObject::factory()->loadData($ctSavePessoaJuridica);
        $voPessoaJuridica = PessoaJuridicaValueObject::factory()->loadData($ctSavePessoaJuridica);
        $voPessoaJuridica = PessoaJuridicaBusiness::factory(NULL, 'libcorp')->savePessoaJuridica($voPessoa, $voPessoaJuridica);
        return sprintf($xmlResult, 'success', '00000', $voPessoaJuridica->toXml());
    } catch (\Exception $excp) {
        return sprintf($xmlResult, 'failure', $excp->getCode(), $excp->getMessage());
    }
}