-
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?
-
Por Fabrizio.Quadro
Boa noite galera, será que tem alguem que possa me dar uma força com webservices, eu preciso acessar este webservice https://servicoshm.saude.gov.br/cnes/ProfissionalSaudeService/v1r0?wsdl
é somente a 2º vez que estou trabalhando com webservice, da outra vez que trabalhei era para acessar o webservice dos correios para calcular o frete, então peguei o codigo e meio que tentei utiliza-lo, mas nao deu certo, o codigo é esse ai
<?php include "lib/nusoap.php"; $cliente = new nusoap_client('https://servicoshm.saude.gov.br/cnes/ProfissionalSaudeService/v1r0?wsdl', true); $headers = ' <soap:Header> <wsse:Security soap:mustUnderstand="true" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsse:UsernameToken wsu:Id="UsernameToken-5FCA58BED9F27C406E14576381084652"> <wsse:Username>CNES.PUBLICO</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">cnes#2015public</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soap:Header> '; $cliente->setHeaders($headers); $parametros = array('numeroCNS' => '980016280595043'); $resultado = $cliente->call('ConsultarProfissionalSaude', $parametros); print_r($resultado); ?> nao sei se ajuda, mas o xml que o webservice recebe é esse aqui
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:prof="http://servicos.saude.gov.br/cnes/v1r0/profissionalsaudeservice" xmlns:fil="http://servicos.saude.gov.br/wsdl/mensageria/v1r0/filtropesquisaprofissionalsaude" xmlns:cns="http://servicos.saude.gov.br/schema/cadsus/v5r0/cns" xmlns:cpf="http://servicos.saude.gov.br/schema/corporativo/documento/v1r2/cpf"> <soap:Header> <wsse:Security soap:mustUnderstand="true" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsse:UsernameToken wsu:Id="UsernameToken-5FCA58BED9F27C406E14576381084652"> <wsse:Username>CNES.PUBLICO</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">cnes#2015public</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soap:Header> <soap:Body> <prof:requestConsultarProfissionalSaude> <fil:FiltroPesquisaProfissionalSaude> <cns:CNS> <cns:numeroCNS>980016280595043</cns:numeroCNS> </cns:CNS> </fil:FiltroPesquisaProfissionalSaude> </prof:requestConsultarProfissionalSaude> </soap:Body> </soap:Envelope> Alguem sabe como acessar esse webservice?????
-