-
Conteúdo Similar
-
Por marcelo.ourico
Boa noite. Pessoal, mais uma vez aqui pedindo uma ajuda.
Estou tentando enviar uma NFSe via SOAP.
Estou recebendo o seguinte erro:
Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Client] ERRO : cvc-complex-type.4: Attribute 'Algorithm' must appear on element 'ns2:CanonicalizationMethod'. in
O meu Array está da seguinte forma:
Array
(
[CanonicalizationMethod] => Array
(
[@attributes] => Array
(
[Algorithm] => http://www.w3.org/TR/2001/REC-xml-c14n-20010315
)
)
Não entendi o porque desse erro, alguém sabe ajudar? -
Por vmmh
Alguma alma caridosa que me possa ajudar ?
há dias que ando com este problema e não consigo resolver. Ficaria eternamente grato se alguém pudesse ajudar
o codigo abaixo em localhost funciona na perfeição , mas em produção , no lado do servidor , nada... HTTP error 500.
o pedido que estou a fazer está noutro dominio com porta 81 e no meu dominio uso certificado de segurança. Será por aí?
de qualquer forma o wsdl está aqui:
$client = new SoapClient('https://dekrainspecoes.pt/acp/PROD_CustomUI_ACP_Member_Validation_WS.WSDL');
$result = $client->QueryByNumCartao(array('N_Cartao' => "705684011673122085"));
if (!empty($result->QueryByNumCartao_Output->Cartao_Ativo)) {
echo 'The userId : '.$result->QueryByNumCartao_Output ->Pessoa_ID;
}
$JSON = json_encode($result);
-
Por wolfphw
Bom dia caros amigos,
estou precisando fazer uma consulta em um WS da Receita Federal mas estou me batendo com algumas dúvidas.
Instalei o certificado que eles me passaram na minha máquina e pelo navegador quando colo a URL do WS ele mostra tudo correto os tipos de consultas e tal, meu problema está no desenvolvimento do client para fazer essa consulta, eu preciso instalar algum Certificado localmente?
E como devo fazer a conexão da minha aplicação com esse WS?
Estou tentando assim:
<?php require("biblioteca/nusoap.php"); $wsdl = "https://acesso.infoconv.receita.fazenda.gov.br/ws/cpf/ConsultarCPF.asmx?wsdl"; $formaBusca = "listarEmpPorCPF"; $ListaDeCPF = "12345678910"; $CPFUsuario = "12345678910"; $sslcertfile = 'certificado.pem'; $sslkeyfile = 'key.pem'; $passphrase = 'senha'; $param = array('CPFUsuario' => $CPFUsuario, 'ListaDeCPF' => $ListaDeCPF); $soap = new nusoap_client($wsdl, 'wsdl'); $soap->setCredentials("", "", 'certificate', array( 'sslcertfile' => $sslcertfile, 'sslkeyfile' => $sslkeyfile, 'passphrase' => $passphrase, 'verifypeer' => 0, 'verifyhost' => 0 ) ); if($err = $soap->getError()) { die('Error: '.$err); } $result = $soap->call($formaBusca, array('parameters' => $param), '', '', false, true); if($soap->fault) { echo 'Fault! <pre>'; var_dump($result); echo '</pre>'; } else { if($err = $soap->getError()) { die('Error: '.$err); } else { echo '<pre>'; var_dump($result); die('</pre>'); } } ?> E está me dando o seguinte erro:
Error: wsdl error: Getting https://acesso.infoconv.receita.fazenda.gov.br/ws/cpf/ConsultarCPF.asmx?wsdl - HTTP ERROR: cURL ERROR: 58: could not load PEM client certificate, OpenSSL error error:02001003:system library:fopen:No such process, (no key found, wrong pass phrase, or wrong file format?)
-
Por peterhall
Preciso consumir um web service soap (wsdl) com certificado digital mas não estou a conseguir.
Testei através do SoapUI e resultou sem erros, mas na hora de aplicar num script de php, não estou a conseguir que funcione.
O que fiz até ao momento: converti o certificado digital de .pfx para .pem com chave privada incluída e procurei executar o script com os parâmetros de conexão e xsd de saída.
Na documentação consta este xsd de saída:
A resposta, se com erro, deverá ser:
Resposta sem erro:
O meu script:
<?php date_default_timezone_set("America/Fortaleza"); $time = new DateTime; $data = $time->format(DateTime::ATOM); $wsdl = 'https://selodigital.tjce.jus.br/wsselodigital-homologacao/SolicitacaoSelo?wsdl'; $endpoint = 'https://selodigital.tjce.jus.br/wsselodigital-homologacao/SolicitacaoSelo'; $certificate = "certificado.pem"; $password = 'senha'; $options = array( 'location' => $endpoint, 'keep_alive' => true, 'trace' => true, 'local_cert' => $certificate, 'passphrase' => $password, 'cache_wsdl' => WSDL_CACHE_NONE, array('versao' => '1.12', 'dataHora' => $data, 'ambiente' => '2', 'codigoServentia' => '000123', 'nomePessoa' => 'Nome de Teste', 'tipoDocumento' => '1', 'idSolicitacaoSelo' => '1', 'sequencial' => '1', 'codigo' => '6', 'quantidade' => '10' ) ); try { $soapClient = new SoapClient($wsdl, $options); } catch(Exception $e) { var_dump($e); }
O erro que tenho recebido:
Onde estarei errando?
-