Der Import von Webdiensten legt Sicherheitsanforderungen fest
Freigeben Version: Xanadu
Aktualisiert 1. August 2024
2 Minuten Lesedauer
Webdienst-Importsätze verwenden dieselben Sicherheitsmechanismen wie SOAP Web Services.
Die Standardauthentifizierung erfordert die Angabe eines gültigen Anwendernamens und Passworts durch einen Webservice-Anwender.
Kontextbezogene Sicherheit erfordert, dass ein Webservice-Benutzer die Zugriffssteuerungsregel der abgefragten Tabelle erfüllt.
Wenn in Ihrer Instanz hohe Sicherheitseinstellungen verwendet werden, benötigt der Webservice-Benutzer möglicherweise auch die SOAP- Rolle.
Zugehörige Links zu Webservice-Importsätzen
Wenn Sie eine zugeordnete Webservice-Tabelle anzeigen, haben Sie die folgenden zugehörigen Links.
Importsätze – Die Importsätze, die sich auf diesen Webdienst-Importsatz beziehen.
Transformationszuordnungen – Eine Liste von 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 Datensatzes der Incident-Tabelle als Ergebnis der Transformation.Abbildung : 1. SOAP-Benachrichtigung
Beispiel für Webservice-Importsätze
In diesem Beispiel werden die WSDL, der SOAP-Umschlag und die Antwort, der Perl-Aufruf und das Ergebnis des Imports eines SOAP-Webservice demonstriert.
<?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
Das folgende Beispielskript verwendet den Notification Web Service, um einen Incident als Benutzer itil zu erstellen. Verwendet die Perl-Sprache [ und das Paket 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";}}
Im Folgenden finden Sie das Ergebnis, das vom Perl-Skript in der -Konsole ausgegeben wird.
Die folgende Abbildung zeigt die resultierende Zeile, die für die Importsatztabelle „ Benachrichtigung “ (imp_notification) erstellt wurde.Abbildung : 2. WS-Iset-Perl