Consumindo Web Services em ASP.NET com SOAP utilizando Cache
Bem, com a classe pronta agora fica fácil consumir o WS com cache, pois o tratamento do cache já está implementado na classe da página anterior.
E abaixo vai a estrutura do resultado de um WS meu para melhor entendimento:
<?php
include_once('wsdl.class.php');
$wsdl = new TWsdl('/nomeWS.asmx?WSDL');
$wsdl->setMetodo('metodoDoWS');
$wsdl->addParam('pParametro 1', 'valor');
$wsdl->addParam('pParametro 2', 'valor');
//ADICIONE QUANDOS PARAMETROS FOREM NECESSÁRIOS, OU NENHUM CASA NÃO TENHA
$res = $wsdl->getResult(); //$res CONTEM O OBJETO RETORNADO PELO WS
$res = $res->metodoDoWSResult; //COLOCA O OBJETO DE RESULTADO DO WS - APENAS UM ATALHO, PODE NÃO SER FEITO...
$erro = $res->Erro->Codigo; //OS WS QUE TRABALHO SEMPRE CONTÉM UM PARAMETRO 'Erro' QUE RETORNA UM CODIGO DE ERRO CASO HAJA
if($erro != 0) {
$erroDesc = $res->Erro->Mensagem;
$erroDesc = str_replace("\"", "'", $erroDesc);
$erroDesc = str_replace("\n", "\\n", $erroDesc);
echo "<script>alert(\"#".$erro."\\n".$erroDesc."\");</script>";
}
else {
$qtde = count($res->Resultado->ArrayDeObjetosDoResultado);
for($i = 0; $i < $qtde; $i++) {
if($qtde == 1) {
$campo1 = $res->Resultado->ArrayDeObjetosDoResultado->Campo1;
$campo2 = $res->Resultado->ArrayDeObjetosDoResultado->Campo2;
}
else {
$campo1 = $res->Resultado->ArrayDeObjetosDoResultado[$i]->Campo1;
$campo2 = $res->Resultado->ArrayDeObjetosDoResultado[$i]->Campo2;
}
//ESTE IF EXISTE PQ SE TEM SOMENTE 1 RESULTADO O WS RETORNA UM OBJETO, SE TIVER MAIS ELE ME RETORNA UM ARRAY DE OBJETOS
//AGORA VC FAZ O QUE QUISER AQUI COM O RESULTADO
}
}
?>
E abaixo vai a estrutura do resultado de um WS meu para melhor entendimento:
stdClass Object
(
[metodoDoWSResult] => stdClass Object
(
[Erro] => stdClass Object
(
[Codigo] => 0
)
[Resultado] => stdClass Object
(
[ArrayDeObjetosDoResultado] => stdClass Object
(
[Campo1] => 'valor'
[Campo2] => 'valor'
)
)
)
)
Páginas:
1
2
Novo Comentário: