Webservice-Importsätze verwenden dieselben Sicherheitsmechanismen wie SOAP-Webservices.
Die Standardauthentifizierung erfordert, dass ein Webservice-Anwender einen gültigen Anwendernamen und ein gültiges Passwort bereitstellt.
Kontextbezogene Sicherheit erfordert, dass ein Webservice-Anwender die Zugriffssteuerungsregel der abgefragten Tabelle erfüllt.
Wenn Ihre Instanz hohe Sicherheitseinstellungen verwendet, benötigt der Webservice-Anwender möglicherweise auch SOAP Rolle.
Zugehörige Links zu Webservice-Importsätzen
Wenn Sie eine zugeordnete Webservicetabelle anzeigen, haben Sie die folgenden zugehörigen Links.
Importsätze: Die Importsätze, die sich auf diesen Webservice-Importsatz beziehen.
Transformationszuordnungen: Eine Liste der Transformationszuordnungen im Zusammenhang mit diesem Webservice.
Transformationsverlauf: Der Transformationsverlauf.
Webservice bearbeiten – Bearbeiten Sie den Webservice.
Die folgende Abbildung zeigt einen Datensatz, der in die Webservice-Importsatzbenachrichtigung eingefügt wurde. Der Zieldatensatz ist die resultierende Erstellung oder Änderung des Incident-Tabellendatensatzes als Ergebnis der Transformation.Abbildung : 1. Soap-Benachrichtigung
Beispiel für Webservice-Importsätze
Dieses Beispiel zeigt WSDL, SOAP-Umschlag und -Antwort, Perl-Aufruf und Ergebnis eines SOAP-Webservice-Imports.
<?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>
Beispielaufruf mit Perl
Im folgenden Beispielskript wird verwendet Benachrichtigung Webservice zum Erstellen eines Incidents als itil Anwender. Verwendet wird Perl-Sprache und SOAP::Lite-Paket.
#!/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";}}
Das folgende Ergebnis wird vom Perl-Skript auf der Konsole gedruckt.
Die folgende Abbildung zeigt die resultierende Zeile, die für die Importsatztabelle erstellt wurde Benachrichtigung (imp_Notification).Abbildung : 2. WS-Iset-Perl