SOAP - PHP Comendo Coisas + Dificuldade com WS
Boa Noite pessoal. Não tenho nenhuma intimidade com a integracao de sistemas, mas tive que fazer da noite pro dia uma integracao via WS.
Então fiz meu dever de casa e estudei um pouco, tenho entao o seguinte codigo que eu montei:
<?php
try
{
$wsdl_pre = "http://smh.ana.gov.br:8090/ws-telemetria-htc/services/inserirMedicoes?wsdl";
$wsdl_pro = "http://www.snirh.gov.br/app-ws-telemetria-htc/services/inserirMedicoes?wsdl";
$config_soap = array("trace"=>1,"exceptions"=>1);
$soap_client = new SoapClient($wsdl_pre,$config_soap);
$login = "11111";
$senha = "AAAAA";
$codigoFlu = "000000";
$codigoPlu = "222222";
$chuva = "0.0";
$dataMedicao = "16/04/2015 22:00:00";
$nivel = "100";
$vazao = "1500.00";
$xml_header = "<soapenv:Envelope></soapenv:Envelope>";
$xml = new SimpleXMLElement($xml_header);
#Fabrica de Linguica
$xml->addAttribute('xmlns:soapenv' ,"http://schemas.xmlsoap.org/soap/envelope/");
$xml->addAttribute('xmlns:q0' , "http://ws.integracao.ana.gov.br/");
$xml->addAttribute('xmlns:xsd' , "http://www.w3.org/2001/XMLSchema");
$xml->addAttribute('xmlns:xsi' , "http://www.w3.org/2001/XMLSchema-instance");
#Nivel Body
$body = $xml->addChild('soapenv:Body');
#Nivel Inserir Medicao
$inserirmedicao = $body->addChild('ws:inserirMedicao');
#Nivel 1 - Login e Senha
$inserirmedicao->addChild('login' ,$login);
$inserirmedicao->addChild('senha', $senha);
#Nivel 2 - Estacao
$estacao = $inserirmedicao->addChild('estacao');
$estacao->addChild('codigoFlu', $codigoFlu);
$estacao->addChild('codigoPlu', $codigoPlu);
#Nivel 3 - Medicao
$medicao = $estacao->addChild('medicao');
$medicao->addChild('chuva', $chuva);
$medicao->addChild('dataMedicao', $dataMedicao);
$medicao->addChild('nivel', $nivel);
$medicao->addChild('vazao', $vazao);
echo "Enviado: ";
echo $xml->asXML();
$soap_client->inserirMedicao($xml->asXML());
echo "<br>";
echo "Recebido: ";
echo $soap_client->__getLastResponse();
}catch(SoapFault $e)
{
echo $e->getMessage();
}
echo "<br> Executado ateh o fim";
?>Quando o sistema vai dar echo no Enviado ele "come" as coisas q estão antes do ":" e o sistema retorna sempre como usuario e senha invalidos.
Ao tentar com tudo completo pelo soapUI funciona normalmente.
Ao tentar o valor que esta presente no "Enviado" o soapUI retorna com erro de parsing de XML.
Onde eu estou errando?
Discussão (5)
Carregando comentários...