<< <%SKIN-STRTRANS-SYNTOC%> >> Navegação: Webservices & Integração > WebService para Catálogo de Serviços |
Descrição |
Webservice para catálogo de serviços |
Acesso |
Criação e edição de recursos utilizando WebServices do Qualitor (recursos de integração) |
Aplica-se |
Q810 |
No descritor WSServiceCatalog foram criados dois WebServices:
getServicesByUser: Este Webservice é utilizado para obter a lista de serviços do usuário final, que é informado nos parâmetros de entrada via TAG XML:
$xml = '';
$xml .= '<wsqualitor>';
$xml .= " <contents> ";
$xml .= " <data> ";
$xml .= " <cdcliente>1</cdcliente>"; // Cliente
$xml .= " <cdcontato>1</cdcontato>"; // Contato
$xml .= " </data> ";
$xml .= " </contents> ";
$xml .= '</wsqualitor>';
getServiceData: Este WebService é utilizado para obter os dados do serviço, que é informado nos parâmetros de entrada via TAG XML:
$xml = '';
$xml .= '<wsqualitor>';
$xml .= " <contents> ";
$xml .= " <data> ";
$xml .= " <cdservico>12</cdservico>";
$xml .= " </data> ";
$xml .= " </contents> ";
$xml .= '</wsqualitor>';
Na execução do webservice “getServicesByUser”, este Webservice é responsável por retornar a lista de serviços do catálogo do usuário (Nota: São exibidos os serviços “voltados ao cliente”, ao qual o usuário informado no parâmetro possui acesso).
<wsqualitor>
<response_status>
<status>1</status>
<error_code></error_code>
<msg></msg>
</response_status>
<response_data>
<dataitem>
<servico>
<cdservico>7</cdservico>
<cdservicosuperior></cdservicosuperior>
<nmservico>Incidente</nmservico>
<dsimagem> HEPV2fR60D6M6e35MH6XLuwDhi6HZ4dKOdlFUuF9m4glhr3phJi9d6AZPJuwKS1VVzA3aLyYsX7crche/t3trMEU2TV4FaLqXIfui8WVHWSwsQbFLo5kAAAAASUVORK5CYII=</dsimagem>
<idrequisicoes>N</idrequisicoes>
<idinformacoes>Y</idinformacoes>
<idacao>A</idacao>
<dsurl></dsurl>
<cdscript></cdscript>
<cdperfilchamado></cdperfilchamado>
<cdtipochamado></cdtipochamado>
<cdcategoria></cdcategoria>
<cdlocalidade></cdlocalidade>
<cdprioridade></cdprioridade>
<cdform></cdform>
<servicos>
<servico>
< ... mais dados de serviços ... >
Na formação dos dados apresentados, a imagem é exibida no formato Base64, e as demais informações retornadas são agrupadas e subagrupadas sob a tag “<serviço>” que corresponde ao conjunto de informações relacionada à um serviço (registro) no XML.
A tag <dsurl> representa a URL de acesso externo ao formulário, se houver um formulário associado ao serviço em questão.
Um exemplo de execução deste WebService pode ser observado abaixo:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
$soapURL = "http://localhost/q810/ws/services/service.php?wsdl=WSServiceCatalog";
$soapClient = new SoapClient($soapURL);
$token = $soapClient->login('adm', '123', 1);
print $token;
$xml = '';
$xml .= '<wsqualitor>';
$xml .= " <contents> ";
$xml .= " <data> ";
$xml .= " <cdcliente>161</cdcliente>";
$xml .= " <cdcontato>8</cdcontato>";
$xml .= " </data> ";
$xml .= " </contents> ";
$xml .= '</wsqualitor>';
$return = $soapClient->getServicesByUser($token, $xml);
print $return;
print "<br><br><-- Fim -->";
print "</font>";
?>
Quando executado o webservice “getServiceData”, o WebService retorna os dados do serviço. Este dados correspondem à informações pertencentes ao cadastro do serviço em questão.
Para executar este WebService, é possível observar o exemplo abaixo:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
$soapURL = "http://localhost/q810/ws/services/service.php?wsdl=WSServiceCatalog";
$soapClient = new SoapClient($soapURL);
$token = $soapClient->login('adm', '123', 1);
print $token;
$xml = '';
$xml .= '<wsqualitor>';
$xml .= " <contents> ";
$xml .= " <data> ";
$xml .= " <cdservico>22</cdservico>";
$xml .= " </data> ";
$xml .= " </contents> ";
$xml .= '</wsqualitor>';
$return = $soapClient->getServiceData($token, $xml);
print $return;
print "<br><br><-- Fim -->";
print "</font>";
?>
O exemplo acima executa o método getServiceData e obtém os dados cadastrais do serviço, que são exibidos conforme abaixo:
<wsqualitor>
<response_status>
<status>1</status>
<error_code></error_code>
<msg></msg>
</response_status>
<response_data>
<dataitem>
<cdservico22>
<cdservico>22</cdservico>
<nmservico>Novo Projeto</nmservico>
<nmtiposervico>Catálogo Público</nmtiposervico>
<idclassificacao>Serviço voltado ao cliente</idclassificacao>
<nmsituacao>Em produção</nmsituacao>
<idativo>Y</idativo>
<dtservico>27/06/2014 - 16:10</dtservico>
<cdcriticidade>3</cdcriticidade>
<nmcriticidade>Baixa</nmcriticidade>
<cdcategoriaservico1></cdcategoriaservico1>
<cdcategoriaservico2></cdcategoriaservico2>
<cdcategoriaservico3></cdcategoriaservico3>
<nmcategoriaservico1></nmcategoriaservico1>
<nmcategoriaservico2></nmcategoriaservico2>
<nmcategoriaservico3></nmcategoriaservico3>
<nmcategoriacompleta>(Categoria não informada)</nmcategoriacompleta>
<vlcusto>3</vlcusto>
<dsservico>Servi&ccedil;os gerenciados (projetos) de implanta&ccedil;&otilde;es do sistema em novas empresas ou &aacute;reas ou de migra&ccedil;&otilde;es de vers&atilde;o, servidor, ambiente, etc. em sistemas j&aacute; operantes</dsservico>
<cdjornada></cdjornada>
<nmjornada></nmjornada>
<vlmetaresposta>0,00</vlmetaresposta>
<vlmetatermino>0,00</vlmetatermino>
<vlmetadisponibilidade>0,00</vlmetadisponibilidade>
<vlmetarecovery></vlmetarecovery>
<idatendente>Y</idatendente>
<idtipoacaoat>A</idtipoacaoat>
<idwebsolicitante>N</idwebsolicitante>
<idpopup>N</idpopup>
<cdconexao></cdconexao>
<cdoperacao></cdoperacao>
<cdpesquisasqlsol></cdpesquisasqlsol>
<dsinformacaortf></dsinformacaortf>
<dsacordortf></dsacordortf>
<dsdisponibilidadertf></dsdisponibilidadertf>
<dsinstrucoesrtf></dsinstrucoesrtf>
<dsimagem>iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACsIARCIMEIkwQCTCAJEIA0QiDBCJMEAkwgCRCANEIgwQiTBAJMIAkQgDRCIMEIkwQCTCAJEIA0QCSv0HWSwsQbFLo5kAAAAASUVORK5CYII=</dsimagem>
</cdservico22>
</dataitem>
</response_data>
</wsqualitor>
No retorno deste webservice também podemos observar que o conteúdo retornado da imagem do serviço obedece o formato Base64.
As informações retornadas pelo Webservice são relativas, especificamente, ao serviço requisitado no XML de entrada.