ダイレクト Web サービス

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:6分
  • 適切なアクセス制御リストが設定されている場合は、システム内の任意のテーブルでダイレクト Web サービスを使用できます。

    サポートされている受信メッセージの形式は、ドキュメントスタイルのリテラル XML SOAP ドキュメント (ドキュメント/リテラル) です。直接 Web サービスの WSDL 説明と XML スキーマを取得するには、相対 URL <tablename>.do? をポイントします。WSDL。たとえば、オンラインデモシステムでインシデントテーブルの WSDL を取得するには、 https://<instance name>.service-now.com/incident.do?WSDL URL を使用します。

    拡張クエリパラメーター

    拡張クエリパラメーターを使用すると、 getgetKeys、および getRecords 関数を使用する場合に、SOAP クエリの戻り結果をフィルタリングおよび変更できます。
    注:
    拡張クエリ要素名の先頭には 2 つのアンダースコア文字が付きます。
    表 : 1. 利用可能な拡張クエリパラメーター
    パラメーター 説明
    __encoded_query 返された結果のフィルタリングに使用するエンコードされたクエリ文字列を指定します。エンコードされたクエリー文字列の形式は、 sysparm_query URL パラメーターで指定できる値に似ています。RSS フィードジェネレーターの例のエンコードされたクエリの構築例を参照してください。 <__encoded_query>active=true^category='hardware'</__encoded_query>
    __order_by 返された結果を指定されたフィールドで並べ替えるように指示します。 <__order_by>priority</__order_by>
    __order_by_desc 返された結果を、指定されたフィールドで降順に並べ替えるように指示します。 <__order_by_desc>opened_date</__order_by_desc>
    __exclude_columns 結果セットから除外するカンマ区切りのフィールド名のリストを指定します。 <__exclude_columns>sys_created_on、sys_created_by、caller_id、priority</__exclude_columns>
    __limit 返されるレコードの数を制限します。 <__limit>100</__limit>
    __first_row セットの先頭からこのレコード数だけ結果をオフセットするように指示します。__last_rowと一緒に使用すると、結果のウィンドウを照会する効果があります。結果には最初の行の番号が含まれます。 <__first_row>250</__first_row>
    __last_row セットの先頭からこのレコード数、または指定された場合は __start_row 値によって結果を制限するように指示します。__first_row と一緒に使用すると、結果のウィンドウを照会する効果があります。結果は最後の行番号より小さく、最後の行は含まれません。 <__last_row>500</__last_row>
    __use_view 返される結果を制限および展開するために使用するフォームビューを名前で指定します。フォームビューに caller_id.email などの詳細参照フィールドが含まれている場合は、このフィールドも結果に返されます。 <__use_view>soap_view</__use_view>

    直接 Web サービス名前空間

    各テーブルに一意の名前空間を指定する

    glide.wsdl.definition.use_unique_namespace プロパティにより、各テーブルのダイレクト Web サービス WSDL が一意の targetNamespace 属性を持つようになります。このプロパティはデフォルトでは true です。この場合、テーブルのダイレクト Web サービス WSDL でtargetNamespace値 http://www.service-now.com/<table name> を使用する必要があります。false の場合 (またはプロパティが存在しない場合)、すべてのテーブルで同じtargetNamespace値の http://www.service-now.com が使用されます。また、すべてのテーブルが同じ操作名を共有するため、Web サービスクライアントが複数の ServiceNow Web サービスを消費しようとしても、複数のテーブル間で要求を区別できません。一意の targetNamespace 値を使用すると、Web サービスクライアントは複数のテーブル間で要求を区別できます。

    たとえば、インシデントテーブルのダイレクト Web サービス WSDL は、次の targetNamepsace 値を使用します。

    <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" >

    名前空間要件の設定

    ServiceNow の WSDL スキーマは、デフォルトで elementFormDefault="unqualified" の属性を宣言します。この属性は、ローカルに宣言された要素をインスタンスドキュメント内の targetNamepsace で修飾する必要があるかどうかを示します。この属性の値が 修飾されていない場合は、ローカルに宣言された要素を targetNamepsaceで修飾しないでください。この属性の値が 修飾されている場合は、ローカルに宣言された要素を targetNamepsaceで修飾する必要があります。

    ただし、これは、WSDL から生成されたクライアント (.NET、Axis2、webMethods など) が埋め込みスキーマを処理する方法とは互換性がありません。その結果、スキーマ名前空間が削除され、Web サービス応答が解析不可能になります。

    この互換性の問題を克服するために、 glide.wsdl.schema.UnqualifiedElementFormDefault と呼ばれるブールプロパティが導入されています。このプロパティのデフォルト値は true です。これを false に設定すると、WSDL から生成されたクライアントは、Web サービス呼び出しの戻り値を解析できます。このプロパティは、次の Web サービスプロパティページを使用して変更できます システムのプロパティ > Web サービス.

    重複するサービス名を許可する

    デフォルトでは、動的に生成された WSDL からのサービス名は一意で、次の形式になります。

    ServiceNow_<table name>

    重複するサービス名を許可するために、アドミニストレーターは glide.wsdl.unique_service_name プロパティを false に設定できます。プロパティが存在しない場合は作成します。