Requisitos de segurança dos conjuntos de importação de serviço web
Versão de lançamento: Yokohama
Atualizado 30 de jan. de 2025
2 min. de leitura
Os conjuntos para importação de serviços web usam os mesmos mecanismos de segurança que os serviços web SOAP.
A autenticação básica requer que um usuário do serviço web forneça um nome de usuário e senha válidos.
A segurança contextual requer que um usuário do serviço Web atenda à regra de controle de acesso da tabela consultada.
Se sua instância usa configurações de alta segurança, o usuário do serviço Web também pode precisar da função soap.
Links relacionados aos conjuntos para importação de serviço web
Ao exibir uma tabela de serviço web mapeada, você tem os links relacionados a seguir.
Conjuntos para importação — Os conjuntos para importação relacionados a este conjunto de importação de serviço web.
Mapas de transformação — Uma lista de mapas de transformação relacionados a este serviço web.
Histórico de transformação — O histórico de transformação.
Editar serviço web — Edite o serviço web.
A imagem a seguir mostra um registro que foi inserido na notificação do conjunto de importação de serviço web. O registro de destino é a criação ou modificação resultante do registro da tabela Incidente como resultado da transformação.Figura 1. Notificação SOAP
Exemplo de conjuntos para importação de serviço web
Este exemplo demonstra o WSDL, o envelope e a resposta SOAP, a invocação de Perl e o resultado de uma importação de serviço web SOAP.
<?xmlversion="1.0"encoding="UTF-8"?><SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Body><insertResponse><sys_id>b54aafbfc0a8006f0058db95daa5b88d</sys_id><table>incident</table><display_name>number</display_name><display_value>INC10008</display_value><status>ignored</status><status_message>No field values changed</status_message></insertResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
Exemplo de invocação usando Perl
O script de exemplo a seguir usa o serviço Web de notificação para criar um incidente como o usuário itil. Ele usa a linguagem Perl e o pacote SOAP::Lite.
#!/usr/bin/perl -w
#use SOAP::Lite ( +trace => all, maptype => {} );use SOAP::Lite;
sub SOAP::Transport::HTTP::Client::get_basic_credentials{return'itil'=>'itil';// set basic auth credentials for the itil user
}
my$soap= SOAP::Lite->proxy('http://localhost:8080/glide/imp_notification.do?SOAP');
my$method= SOAP::Data->name('insert')->;attr({xmlns =>'http://www.service-now.com/'});
# insert into the web servicemy@params=( SOAP::Data->name(message =>'problem detected for database DB12DG'));push(@params, SOAP::Data->name(source =>'DB12DG'));push(@params, SOAP::Data->name(uuid =>'HGAF76251HGF2'));
my$result=$soap->call($method=>@params);
print_fault($result);//print any SOAP faults
print_result($result);//print any results
sub print_result {my($result)=@_;if($result->body&&$result->body->{'insertResponse'}){my%keyHash=%{$result->body->{'insertResponse'}};foreachmy$k(keys%keyHash){print"name=$k value=$keyHash{$k}\n";}}}
sub print_fault {my($result)=@_;if($result->fault){print"faultcode=".$result->fault->{'faultcode'}."\n";print"faultstring=".$result->fault->{'faultstring'}."\n";print"detail=".$result->fault->{'detail'}."\n";}}
A seguir está o resultado impresso pelo script Perl no console.