Direkte Webservices
Ein direkter Webservice ist für jede Tabelle im System verfügbar, wenn die richtige Zugriffssteuerungsliste konfiguriert ist.
Das unterstützte Format der eingehenden Nachricht ist XML-SOAP-Dokumente im Dokumentstil (Dokument/Literal). Um eine WSDL-Beschreibung und ein XML-Schema für den direkten Webservice abzurufen, verweisen Sie auf die relative URL <tablename>.do?WSDL . Verwenden Sie beispielsweise die folgende URL, um die WSDL für die Incident-Tabelle im Online-Demosystem abzurufen: https://<instance name>.service-now.com/incident.do?WSDL .
Erweiterte Abfrageparameter
| Parameter | Beschreibung | Beispiel |
|---|---|---|
| __encoded_query | Geben Sie eine codierte Abfragezeichenfolge an, die zum Filtern der zurückgegebenen Ergebnisse verwendet werden soll. Das codierte Abfragezeichenfolgenformat ähnelt dem Wert, der in angegeben werden kann Sysparm_query URL-Parameter. Sehen Sie sich das Beispiel für die codierte Abfrageerstellung in den RSS-Feed-Generator-Beispielen an. |
<__encoded_query>Active=wahr^category='Hardware'</__encoded_query> |
| __order_by | Weisen Sie an, dass die zurückgegebenen Ergebnisse nach dem angegebenen Feld sortiert werden. | <__order_by>Priorität</__order_by> |
| __order_by_desc | Weisen Sie an, die zurückgegebenen Ergebnisse nach dem angegebenen Feld in absteigender Reihenfolge zu sortieren. | <__order_by_desc>opened_date</__order_by_desc> |
| __ausschließen_Spalten | Geben Sie eine Liste von kommagetrennten Feldnamen an, die aus dem Ergebnissatz ausgeschlossen werden sollen. | <__exclude_columns>sys_created_on,sys_created_by,caller_ID,Priorität</__exclude_columns> |
| __Limit | Beschränken Sie die Anzahl der zurückgegebenen Datensätze. | <__limit>100</__limit> |
| __first_row | Weisen Sie die Ergebnisse an, um diese Anzahl von Datensätzen vom Anfang des Satzes versetzt zu werden. Bei Verwendung mit __Last_row Hat die Auswirkung, dass ein Ergebnisfenster abgefragt wird. Die Ergebnisse enthalten die erste Zeilennummer. |
<__first_row>250</__first_row> |
| __Last_row | Weisen Sie an, dass die Ergebnisse durch diese Anzahl von Datensätzen vom Anfang des Satzes oder begrenzt werden sollen __Start_row Wert, wenn angegeben. Bei Verwendung mit __first_row Hat die Auswirkung, dass ein Ergebnisfenster abgefragt wird. Die Ergebnisse sind kleiner als die letzte Zeilennummer und enthalten nicht die letzte Zeile. |
<__Last_row>500</__Last_row> |
| __use_View | Geben Sie eine Formularansicht anhand des Namens an, die zum Einschränken und erweitern der zurückgegebenen Ergebnisse verwendet werden soll. Wenn die Formularansicht tief referenzierte Felder wie enthält Anrufer_ID.E-Mail , Dieses Feld wird auch im Ergebnis zurückgegeben. | <__use_View>SOAP_View</__use_View> |
Namespace für direkte Webservices
Gibt einen eindeutigen Namespace für jede Tabelle an
Die glide.wsdl.definition.use_unique_namespaceDie Eigenschaft stellt sicher, dass die direkte Webservice-WSDL jeder Tabelle eine eindeutige hat targetNamespaceAttribut. Diese Eigenschaft ist Wahr Standardmäßig, was erfordert, dass die direkte Webservice-WSDL einer Tabelle verwendet targetNamespaceWert von http://www.service-now.com/ <table name>. Wann Falsch (Oder wenn die Eigenschaft nicht vorhanden ist) verwenden alle Tabellen dasselbe targetNamespaceWert von http://www.service-now.com . Da alle Tabellen auch dieselben Vorgangsnamen haben, versucht ein Webservice-Client, mehr als eine zu verbrauchen ServiceNowWebservice kann nicht zwischen Anforderungen zwischen mehreren Tabellen unterscheiden. Verwenden einer eindeutigen targetNamespaceMit dem Wert können Webservice-Clients Anforderungen zwischen mehreren Tabellen unterscheiden.
Beispiel: Die direkte Webservice-WSDL für die Incident-Tabelle verwendet dies targetNamepsaceWert:
<wsdl:definitions xmlns:soapenc= "http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl = "http://schemas.xmlsoap.org/wsdl/"xmlns:http = "http://schemas.xmlsoap.org/wsdl/http/"xmlns:tns = "http://www.service-now.com/incident"xmlns:xsd = "http://www.w3.org/2001/XMLSchema"xmlns:mime = "http://schemas.xmlsoap.org/wsdl/mime/"xmlns:soap = "http://schemas.xmlsoap.org/wsdl/soap/"targetNamespace = "http://www.service-now.com/incident" ><wsdl:types><xsd:schema elementFormDefault = "unqualified"targetNamespace = "http://www.service-now.com/incident" >
Namespace-Anforderungen werden festgelegt
Das WSDL-Schema von ServiceNow deklariert standardmäßig ein Attribut von elementFormDefault="unqualified". Dieses Attribut gibt an, ob lokal deklarierte Elemente von qualifiziert werden müssen targetNamepsaceIn einem Instanzdokument. Wenn der Wert dieses Attributs ist Nicht qualifiziert , Dann dürfen lokal deklarierte Elemente nicht von qualifiziert werden targetNamepsace. Wenn der Wert dieses Attributs ist Qualifiziert , Dann müssen lokal deklarierte Elemente von qualifiziert werden targetNamepsace.
Dies ist jedoch nicht mit der Art und Weise kompatibel, wie Clients, die aus WSDL generiert wurden (z. B. .NET, Axis2, webMethods), das eingebettete Schema verarbeiten. Dadurch wird der Schema-Namespace entfernt, sodass die Webserviceantwort nicht mehr analysiert werden kann.
Um dieses Kompatibilitätsproblem zu beheben, wird eine boolesche Eigenschaft aufgerufen glide.wsdl.schema.UnqualifiedElementFormDefaultWird eingeführt. Diese Eigenschaft hat den Wert von Wahr Standardmäßig. Wird auf festgelegt Falsch Ermöglicht Clients, die aus WSDL generiert wurden, das Analysieren des Rückgabewerts des Webserviceaufrufs. Sie können diese Eigenschaft auf der Seite „Webservices-Eigenschaften“ unter ändern an.
Doppelte Servicenamen werden zugelassen
Standardmäßig sind Servicenamen aus dynamisch generierter WSDL eindeutig und haben das folgende Format:
ServiceNow_<table name>
Um doppelte Servicenamen zuzulassen, können Administratoren festlegen glide.wsdl.unique_service_nameEigenschaft bis Falsch . Erstellen Sie die Eigenschaft, wenn sie nicht vorhanden ist.