-
Conteúdo Similar
-
Por marcelo.ourico
Estou precisando fazer o envio de um XML via webservice. Estou utilizando PHP 7.4 e nuSoap.
Porém esse XML de envio possui várias tags com hífen. Por exemplo <tag-name></tag-name>.
Esse hífen tem sido um problema, principalmente por que eu não posso enviar o XML como string. Apenas como objeto. Então imaginem isso:
$objeto = simplexml_load_string($string_xml);
Se simplesmente eu tentar resgatar o valor da TAG já dá erro...
$campo1= $objeto->tag-name;
O erro ocorre em função de que o hífen é um caractere reservado do PHP... Então como resolver?
Independente disso, quando eu tento fazer o envio via nuSoap, também recebo erro abaixo:
wsdl->getTypeDef('tag-name', 'http://xyz.abr...')
wsdl->serializeType('tag-name', 'tag-name', Object(SimpleXMLElement), '
Alguém já passou por isso? Sabe como resolver? Pode dar uma dica?
-
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 WitchMad
Ooi gente!
Seguinte, estou desenvolvendo uma plataforma para advogados. Nela será consultado processos a partir do web service do PJE.
No site do PJE me recomendou utilizar o NuSoap para consultar o web service e foi o que eu fiz.
Segue o código da consulta
<?php require_once 'nusoap/lib/nusoap.php'; /* Parâmetros Requisitados */ // idConsultante // senhaConsultante // numeroProcesso /* Objetos de Resposta sucesso bollean Indica se houve sucesso na consulta do processo. mensagem string Mensagem informando que o processo foi consultado com sucesso. recibo xs:base64Binary Comprovante do protocolo do processo, que contém os dados básicos do processo. */ $wsdl = "https://www.tjpe.jus.br/pje/intercomunicacao?wsdl"; $client = new nusoap_client($wsdl, 'wsdl'); if($client->getError()){ echo "Erro no construtor" . $client->getError(); exit(); } $result = $client->call('consultarProcesso', array('idConsultante'=>'CPF do Consultante', 'senhaConsultante'=>'Senha do Consultante', 'numeroProcesso'=>'Número do Processo')); echo $result['sucesso']; ?> Acontece que a página fica em branco, sem nenhum tipo de mensagem.
Se possível gostaria de dicas se há algum erro no código, ou alguma outra ferramenta para consultar web service
-
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?????
-
Por reinaldorti
Bom dia, estou tentando pegar um retorno de dados de um webservice..
sou novo nisso, então queria uma ajuda ou sugestão sobre recuperar esses dados..
link
estou criando um login e senha com nusoap, mais quando eu coloco o e-mail e senha, ele me retorna isso. queria saber com eu pego esses dados. se tem algum tutorial sobre esse assunto, vi no youtube e ate aqui no forum, mais não achei nada que me ajudasse..
desde já agradeço...
<?php $Login = filter_input_array(INPUT_POST, FILTER_DEFAULT); if (!empty($Login['Login'])): unset($Login['Login']); require_once 'nusoap/lib/nusoap.php'; $cliente = new SoapClient('http://10.64.0.11:8080/axis2/services/Assinante?wsdl'); $object = array("loginDoUsuarioAssinante" => $Login['loginDoUsuarioAssinante'], "senhaDoUsuarioAssinante" => md5($Login['senhaDoUsuarioAssinante'])); $return = $cliente->call("getLoginAssinanturasAtivasWeb", array('string' => $object)); var_dump($return); endif; ?> <div class="login-box"> <div class="login-logo"> <a href="#"><b>Admin</b>LTE</a> </div> <div class="login-box-body"> <p class="login-box-msg">Sign in to start your session</p> <form name="LoginForm" action="" method="post"> <div class="form-group has-feedback"> <input type="email" class="form-control" placeholder="Email" name="loginDoUsuarioAssinante"/> <span class="glyphicon glyphicon-envelope form-control-feedback"></span> </div> <div class="form-group has-feedback"> <input type="password" class="form-control" placeholder="Password" name="senhaDoUsuarioAssinante"/> <span class="glyphicon glyphicon-lock form-control-feedback"></span> </div> <div class="row"> <div class="col-xs-4"> <input type="submit" name="Login" value="Logar" class="btn btn-primary btn-block btn-flat" /> </div> </div> </form> <!-- <a href="#">I forgot my password</a><br> <a href="register.html" class="text-center">Register a new membership</a> --> </div> </div>
-