Cisco Service Portal インテグレーション ガイド リリース 9.3.2
Web サービス
Web サービス
発行日;2012/07/26 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 5MB) | フィードバック

目次

Web サービス

概要

対象読者

Web サービス

Web サービスの前提条件

Service Portal のインストールと設定

管理設定

WSDL

ロールと権限

テストおよび開発環境

コードの作成

Axis 2 によるクライアント コードの作成

Apache CXF によるクライアント コードの生成

要求管理のための Web サービス

概要

サービス定義の例

認証

セッションごとの認証

要求ごとの認証

Encryption

Web サービスにアクセスするための RBAC チェック

SOAP 認証と Directory Integration との相互関係

サービス定義の入手

getServiceDefinition 要求

getServiceDefinition の応答

要求の送信

submitRequisition 要求

submitrequisition の応答

要求のリストの入手

getOpenRequisitions 要求

getRequisitions 要求

要求のステータスの入手

getRequisitionStatus 要求

GetRequisitionStatus 応答

要求へのコメントの追加

addComments 要求

要求のキャンセル

タスク管理用の Web サービス

概要

承認のリストの入手

getMyAuthorizations 要求

getAuthorizations 要求

getAuthorizationsForUser 要求(内部用途のみ、非サポート)

getAuthorizations 要求および getAuthorizationsForUser 要求に役立つパラメータ

承認の許可または拒否

ポートフォリオ管理用の Web サービス

概要

提供コストに関するデータのエクスポート

提供サービスとそのステータスの入手

getServiceOfferingStatus 要求

getAllServiceOfferingStatus 要求

getServiceOfferingStatus の応答

要求と応答の例

getServiceDefinition の応答

submitRequisition の応答の例

getMyAuthorizations の応答の例

exportOfferingCostData の応答の例

Web サービスのエラー メッセージ

概要

この章では、Cisco Service Portal(Service Portal)の Web サービスの使用について説明します。内容には、Requisition API(RAPI 2)を実装するサービスも含まれています。この API を使用すると、外部システムから Request Center 内のサービス要求を作成および管理できます。Web サービスには、サービス要求内の提供タスクや承認タスクの管理、Request Center のサービス カタログや Demand Center サービス ポートフォリオの内容の確認などを行う要求も含まれます。

対象読者

この章の対象読者は、Request Center と外部アプリケーションとの間の RAPI インターフェイスの実装を担当するプログラマや設計者です。以下の方法論や技術についての知識があると、このマニュアルの理解や有効活用の助けになります。

Request Center でのサービスの設計と設定

SOAP メッセージや Web Service Descriptive Language(WSDL)などの Web サービス

Web サービス

Web サービスは、要求(サービス要求)や要求を構成するタスクを、外部アプリケーションから作成または更新するためのツールです。外部アプリケーションは、サービス要求の送信から Service Portal のインストール、あらゆる許可タスクや確認タスクの組み込み、およびあらゆるサービス提供タスクの実行など、要求履行プロセスの全部または一部を実行できます。外部アプリケーションは、SOAP メッセージを Service Portal に送信し、受信した応答を処理することでこれらの処理を実行します。

Web サービスの前提条件

Web サービスの作成と実装に必要な前提条件を次に示します。次のものがあります。

Web サービスをサポートするように設定された Service Portal インストール環境があること。

Web サービス要求を送信し、応答を受信するためのクライアントを構築できる環境があること。

コードをテストできる環境があること。

Service Portal のインストールと設定

Web サービスをサポートするように Service Portal を設定する必要があります。

管理設定

[Administration] > [Settings] でグローバル設定 [Enable Web services] をオンにする必要があります。これは、システムのすべての Web サービスを対象とするグローバル スイッチです。このグローバル設定がオフになっていると、Request Center の Web サービスを利用できなくなります。デフォルトでは、この設定はオフになっています。

 

WSDL

作成した要求を検証するには、Web サービスの WSDL が使用できる必要があります。WSDL は次の場所にあります。

http://<ServerName>/RequestCenter/webservices/wsdl/

使用可能な WSDL について、次の表にまとめます。

WSDL
内容

AuthenticationService.wsdl

指定したユーザを Service Portal に対して認証する要求。

RequisitionService.wsdl

要求の送信、要求のキャンセル、またはそのステータスの確認を求める要求。

ServiceCatalog.wsdl

バージョン 2008.2 では無効な WSDL。サポートを参照してください。

ServiceManagerTaskService.wsdl

承認の許可または拒否の要求、あるいは確認が実行済みであるとの通知を求める要求。

ServicePortfolio.wsdl

Demand Center の提供サービスと関連コストの管理を行う要求。

ロールと権限

Web サービスを利用できるのは、Web サービス モジュールに対する適切な権限が含まれるロールを持つユーザです。事前に設定されているロールにこのような権限は含まれていないため、管理者は Organization Designer を使用して、1 つ以上のカスタム ロールを作成する必要があります。ロールを作成したら、Web サービスの権限を追加できます。

 

Web サービスの権限を次に示します。

Requisition Access :この権限のみを持つユーザは、自分の RequisitionService Web サービス要求にアクセスできます。認証されたユーザとイニシエータは同一人である必要があります。同一人でない場合、対応するエラー応答がスローされます。

Requisition System Account :この権限を持つユーザは、自分だけでなく他のユーザの RequisitionService Web サービス要求にもアクセスできます。認証されたユーザとイニシエータは同一人である必要はありません。

Task Access :この権限のみを持つユーザは、自分の ServiceManagerTaskService Web サービス要求にアクセスできます。

Task System Account :この権限を持つユーザは、自分だけでなく他のユーザの ServiceManagerTaskService Web サービス要求にもアクセスできます。認証されたユーザとイニシエータは同一人である必要はありません。

Service Catalog Access :この権限を持つユーザは、Service Catalog Web サービス要求にアクセスできます。

Financial Management Access :この権限を持つユーザは、Service Portfolio Web サービス要求にアクセスできます。

テストおよび開発環境

このマニュアルで紹介するサンプルは、Web サービスの開発/テスト ツールである soapUI を使用して作成されたものです。このツールの無料版は、soapUI の Web サイトから入手可能です。プロフェッショナル版も利用できます。次に概要を示した手順は、使用するツールのバージョンによって異なることがあります。

soapUI をダウンロードしてインストールしたら、Web サービスを作成するためのワークスペースを作成します。サンプルの要求を作成し、Service Portal に送信された要求を検証するために使用する WSDL を含むプロジェクトを作成できます。プロジェクトを作成するには、初期 WSDL が必要です。後で同じプロジェクトに WSDL を複数追加することもできます。プロジェクトの作成中に [Create Requests] オプションをオンにしたままにすると、サンプル要求を生成できます。

コードの作成

Web サービスのクライアントは、Apache の CXF や Axis などのツールを使用してコーディングできます。

Axis 2 によるクライアント コードの作成

Web サービスのクライアントを Axis 2 を使用して作成するための詳細な手順およびユーザ ガイドについては、Apache の Web サイトを参照してください。

ここでは、soapUI を使用して axis2 クライアントを作成するための大まかな手順を示します。


ステップ 1 Axis 2 のライブラリをダウンロードします。

ステップ 2 Axis 2 ライブラリの場所を soapUI の [Preferences] メニューで設定します。

ステップ 3 [Tools] > [Axis 2 Artifacts] を使用して、クライアント コードを作成します。


 

クライアント コードを作成するには、データバインディング方式として adb (Axis のデフォルトのバインディング)を選択する必要があります。テスト ケース オプションも作成する必要があります。

クライアント コードが生成されます。テストケース内にメソッドのスタブが作成されます。このオブジェクトに正確に入力する必要があります。

Apache CXF によるクライアント コードの生成

Web サービス クライアントを CXF を使用して作成するための手順については、Apache の Web サイトを参照してください。

soapUI を使用して CXF クライアントを作成するために必要な手順は、次のとおりです。


ステップ 1 Apache CXF のライブラリをダウンロードします。

ステップ 2 CXF ライブラリの場所を soapUI の [Preferences] メニューで設定します。

ステップ 3 [Tools] > [Apache CXF] を使用して、クライアント コードを生成します。


 

クライアント コードが生成されます。関連するクラスは次のとおりです。

RequisitionServicePortType_RequisitionServiceHttpPort_Client.java

このクラスには main メソッドがあり、WSDL で定義されているすべての処理をここから起動できます。これらの処理を起動するコードは、すでに用意されています。必要な操作は、必要となるさまざまな変数を入力することだけです。

メソッドのスタブが作成されます。必要な操作は、オブジェクトを正しく入力することだけです。

要求管理のための Web サービス

概要

RAPI 2 要求管理によって実行できる処理を、以下の表に要約します。

要求
説明

addComment

オープン状態の要求にコメントを追加します。

cancelRequisition

要求内のすべてのサービス要求を含め、オープン状態の要求をキャンセルします。

cancelRequisitionEntry

サービス要求をキャンセルします。要求内の最後のサービス要求の場合は、要求がキャンセルされます。

getOpenRequisitions

オープン状態のすべての要求のリストを入手します。

getRequisitions

オープン状態のすべての要求のリストを入手します。オプションでリストの内容を制限できます。

getRequisitionStatus

指定した要求のステータスを入手します。

getServiceDefinition

要求を行う対象のサービスの定義を入手します。

submitRequisition

新しい要求を送信します。

サービス定義の例

この章の例は、New Standard Laptop Computer サービスに対する要求を送信するために必要な XML を示しています。このサービスをオーダーするためのサービス フォームは、管理者ユーザからオーダーする場合、以下のようになります(管理者以外のユーザの場合は、フォームの先頭にある New Laptop ディクショナリは表示されません)。

 

認証

Request Center で公開される Web サービスは、すべて認証される必要があります。認証されていない Web サービス コールは、遮断および停止する必要があります。

Request Center の Web サービスによる認証は、以下の方法で実行できます。

セッションごとの認証

要求ごとの認証

認証されてないユーザは、Web サービス コールを正しく実行することができません。グローバル設定の [Enable Web Services] がオフになっていると、Request Center の Web サービスは使用できません。デフォルトでは、この設定はオフになっています。

セッションごとの認証

この方法では、ユーザは最初に Authentication Web サービス コールを実行して、ユーザを認証します。その後、サーバがそのユーザに対してセッションを確立します。このセッションが有効な間、ユーザはその他の Web サービス コールを実行できます。セッションごとの認証要求は、AuthenticationService WSDL に含まれています。

認証要求のフォーマットは以下のとおりです。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aut="http://authentication.api.newscale.com">
<soapenv:Header/>
<soapenv:Body>
<aut:authenticate>
<aut:userName>?</aut:userName>
<aut:password>?</aut:password>
</aut:authenticate>
</soapenv:Body>
</soapenv:Envelope>

要求ごとの認証

この方法では、Web サービスを認証するための個別のコールはありません。その代わりに、ユーザは各 Web サービス コールの一部として SOAP ヘッダーに認証情報を入れて送信します。Request Center の Web サービスに対する認証ハンドラが、そのユーザを認証するかどうかを確認します。このユーザに対してセッションがまだ確立されていない場合は、ハンドラが認証情報を SOAP ヘッダーから読み取ります。認証情報が存在すれば、ハンドラがユーザの認証を試みます。認証情報がない場合や、有効でない場合、ハンドラはクライアントに対してエラー コードおよびエラー メッセージと共に例外をスローします。

Encryption

SOAP ヘッダーに指定されているパスワードは暗号化できません。パスワードの保護には、SSL を使用できます。

Web サービスにアクセスするための RBAC チェック

Request Center で公開されている各 Web サービスには、関連付けられたシステム権限があります。認証ハンドラでも、指定したユーザが Web サービスにアクセス(または実行)できるかどうかを確認します。ユーザに適切なシステム権限があれば、ユーザは処理を続行できます。適切なシステム権限がない場合は、クライアントに対してエラー コードとエラー メッセージと共に例外をスローします。

SOAP 認証と Directory Integration との相互関係

Directory Integration がイネーブルでない場合は、SOAP 要求が発行される前に、指定したユーザが個人ディレクトリに存在している必要があります。

Directory Integration がイネーブルで、Login イベントに Import Person 操作が含まれている場合は、個人のプロファイルを取得する際に外部ディレクトリが確認の対象となり、その情報が個人ディレクトリに挿入されます。この方法を取るには、ディレクトリ情報に適切な Web サービス権限を付与するロールが含まれているか、ユーザが属する事業部(部門)(またはサービス チーム)にそのようなロールが事前に割り当てられている必要があります。したがって、使用する SOAP アカウントはデータベースに事前に入力し、これらのアカウントが要求を送信する前に、アカウントに対して適切な権限を割り当てておくことを推奨します。

サービス定義の入手

getServiceDefinition 要求は、指定したサービスが記述されたメタデータを返します。要求を送信するには、このメタデータが必要です。グリッド ディクショナリを含むサービスにこの操作を使用することは、このリリースではサポートされていません。そのようなサービスに対して操作を呼び出すと、エラーが返されます。

getServiceDefinition 要求

この要求では、その定義を必要とするサービスの名前を指定します。

soapUI で、[getServiceDefinition] ノードの下にある要求の例(Request1)を右クリックして、[Show Request Editor] をクリックします。要求が、作成されたときの状態で表示されます。疑問符(?)は、値を必要とするすべての XML 要素を示します。

 

SOAP 要求にはエンドポイントを指定する必要があります。この要求のプロパティ(および上図のメニューバー)をよく見ると、エンドポイントがまだ定義されていないことがわかります。これを以下の RAPI 2 サービスのエンドポイントで置き換えます。

http://<ServerName>/RequestCenter/services/ RequisitionService

ここで、 RequisitionService は wsdl 名です。

次に、Request Editor のメニューバーにある [Creates a copy of this request] アイコン( )を使用して、この要求をコピーします。このプロトタイプの要求は参照用に残しておきます。コピーを使用して、疑問符の部分を置き換え、認証条件のほか、イニシエータやカスタマーのログイン名、対象とするサービスの名前などを入力します。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:req="http://requisition.api.newscale.com">
<soapenv:Header>
<req:AuthenticationToken>
<req:Username>admin</req:Username>
<req:Password>admin</req:Password>
</req:AuthenticationToken>
</soapenv:Header>
<soapenv:Body>
<req:getServiceDefinition>
<req:initiatorLoginName>admin</req:initiatorLoginName>
<req:customerLoginName>mthurston</req:customerLoginName>
<req:serviceName>New Standard Laptop Computer</req:serviceName>
</req:getServiceDefinition>
</soapenv:Body>
</soapenv:Envelope>

getServiceDefinition の応答

getServiceDefinition 要求を送信するには、Request Editor ウィンドウの左上にある [Submit request to specified URL] ボタン( )をクリックします。応答が Request Editor 内の要求の右側に表示されます。

getServiceDefinition に対する応答では、サービスについてのメタデータが返されます。以下の表に要約を示します。

XML 要素(およびドキュメントの階層)
説明

Service

name

サービスの名前

pricingmodel

quantity

オーダーするサービスの数量

version

サービスのバージョン番号

Dictionaries >

Dictionary

各サービスには 1 つ以上のディクショナリが含まれます。

name

ディクショナリの名前

readable

オーダー時点で、Service Designer のアクティブ フォーム コンポーネントにあるアクセス コントロールに従って、ディクショナリが読み取り可能であれば true、そうでない場合は false。

writable

オーダー時点で、Service Designer のアクティブ フォーム コンポーネントにあるアクセス コントロールに従って、ディクショナリが書き込み可能であれば true、そうでない場合は false。

Fields >

DictionaryField

各ディクショナリには 1 つ以上のフィールドが含まれます。

canSelectMultiple

このフィールドに対して複数の値を選択できるかどうかを示します。

defaultValue

フィールドのデフォルト値

fieldDataType

フィールドのデータ タイプ(数値、日付など)

fieldName

フィールドの名前

inputType

フィールドの html の入力タイプ

label

フィールドのラベル

mandatory

このフィールドが必須の場合は true、必須でない場合は false。

maxLength

フィールドの最大長

selectableValues

フィールドに対して選択可能な値

各ディクショナリと、ディクショナリ内の各フィールドが記述されています。オーダー時点でディクショナリに対して指定されているアクセス コントロールは、正確な形式の submitRequisition 要求を記述するのに不可欠です。オーダー時点でカスタマーから読み込みおよび書き込み可能なディクショナリだけが応答に取り込まれます。これは、submitRequisition 要求に取り込む必要があります。

<name>Customer_Information</name>
<readable>true</readable>
<writable>true</writable>
</Dictionary>

「New Standard Laptop Computer」に対する完全な getServiceDefinitionResponse は、「要求と応答の例」に記載してあります。

要求の送信

技術的には、submitRequisition 要求を送信する前に getServiceDefinition 要求を実行する必要はありません。ただし、getServiceDefinition では、現在のサービスのバージョンに関する有効な submitRequisition メッセージの記述に必要な情報が返されます。

サービスの現在のバージョンは必須です。バージョン番号は、サービス定義自体、または含まれているアクティブ フォーム コンポーネント、またはディクショナリが更新されたときに、必ず増分されます。

getServiceDefinition 要求では、どのフィールドが必須であるかが指定されます。したがって、送信する要求にはすべての必須フィールドを確実に含めることができます。

送信する要求には、すべての必須ディクショナリとフィールドがリストされている必要があります。ディクショナリ、またはそれぞれのディクショナリ内のフィールドの表示順序は任意です。

getServiceDefinition 要求では、各フィールドに指定されているデフォルト値も返されます。これには、カスタマーまたは発信者情報のための解決済みの Lightweight 名前空間などが含まれます。これらの値は通常は必須であり、submitRequisition 要求で指定する必要があります。

サービスの定義にオプション(単一選択、複数選択、およびオプション ボタン)を伴うフィールドがあり、それらのオプションがアクティブ フォーム コンポーネントの [Display Options](HTML Representation)ページを使用して定義されている場合、getServiceDefinition 要求を使用して、そのサービスに対する要求を送信できます。オプションがデータ取得ルールによって指定されているときも、サービス要求は送信できますが、そのフィールドの値が有効なオプションであるかどうかの確認は、送信側のプログラムの責任になります。

submitRequisition 要求では、My Services から要求が送信されるときに発生するオーダーの時間が、基本的に省略されます。条件付きルール、データ取得ルール、または ISF は、送信された要求と一緒には実行されません。したがって、このような仕組みがディクショナリ フィールドの値の指定や評価の実行に使用されている場合は、これらの値を指定するための別の手段を探す必要があります。グリッド ディクショナリを含むサービスにこの操作を使用することは、このリリースではサポートされていません。そのようなサービスに対して操作を呼び出すと、エラーが返されます。

submitRequisition 要求

オーダー時点で表示または編集が可能なディクショナリは、submitRequisition 要求の <section> ノードとして組み込む必要があります。すべての必須フィールドとその値を指定する必要があります。オプションのフィールドには値を指定する必要はありません(しかし、soapUI によって挿入された疑問符は削除する必要があります)。ディクショナリの順序とフィールドの順序は、サービス定義での順序と一致する必要はありませんが、フィールドは対応するディクショナリノードの下にある必要があります。

XML 要素(およびドキュメントの階層)
説明

initiatorLoginName

イニシエータのログイン名

customerLoginName

カスタマーのログイン名

serviceRequests > ServiceRequest

複数のサービス要求を指定できます。

name

サービスの名前

quantity

オーダーされるサービスの数量

version

サービスのバージョン

Sections > Section

各サービスには複数のディクショナリ(セクション)を指定できます。

name

ディクショナリの名前

Fields > Field

各ディクショナリには複数のフィールドを指定できます。

name

フィールドの名前

value > string

このフィールドに設定する値

たとえば、ディクショナリ RC_ServiceLocation 内の ZipCode フィールドの値を「07201」に設定する XML は、以下のようになります。

<req:Section>
. . .
<req:fields>
. . .
<req:Field>
<req:name>ZipCode</req:name>
<req:value>
<req:string 07201/>
</req:value>
</req:Field>
</req:fields>
<req:name>RC_ServiceLocation</req:name>
</req:Section>

submitrequisition の応答

要求を送信する要求が成功すると、応答には作成された要求の要求 ID と、その要求の他の属性が含まれます。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<ns1:submitRequisitionResponse xmlns:ns1="http://requisition.api.newscale.com">
<ns1:submitRequisitionResult ns1:customer="admin admin"
ns1:dueDate="2009-05-08T16:14:26.267-07:00"
ns1:requisitionId="186"
ns1:initiator="admin admin"
ns1:startedDate="2009-04-30T18:14:26.110-07:00"
ns1:status="Ongoing"/>
</ns1:submitRequisitionResponse>
</soap:Body>
</soap:Envelope>

submitRequisitionResult 応答の属性を、次の表に要約します。

XML 要素
説明

submitRequisitionResponse > submitRequisitionResult

この応答には、サービス要求内にあるサービスと同じ数のエントリが含まれます。

customer

要求のカスタマー名

dueDate

要求の期限

requisitionId

要求の要求 ID

initiator

要求のイニシエータ

startedDate

要求が開始された日付

status

要求のステータス

要求が失敗すると、エラー メッセージが返されます。発生する可能性のあるエラーは、「付録 B:RAPI のエラー メッセージ」に記載されています。エラー メッセージは、次の例に示すように、必ず「SOAP fault」という書式で表されます。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>The version specified in the request does not match the version in the database for service 'New Standard Laptop Computer'.Please get the latest service definition.</faultstring>
<detail>
<RequisitionFault xmlns="http://requisition.api.newscale.com">
<errorCode>REQ_0018</errorCode>
<errorMessage>The version specified in the request does not match the version in the database for service 'New Standard Laptop Computer'.Please get the latest service definition.</errorMessage>
</RequisitionFault>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
 

要求のリストの入手

getRequisitions と getOpenRequisitions の処理では、オープン状態の要求についての情報を返します。これらは要求に含めることのできる引数が異なります。

これらの処理は、要求の管理に役立つ場合があります。たとえば、オープンな状態の要求のリストが返されたら、その中から、ユーザ定義の期限を超えた特定のタイプ(特定のサービスについて)を調べることができます。

getOpenRequisitions 要求

getOpenRequisitions は、指定した最大数まで、オープン状態の要求をすべて返します。要求は、要求 ID の降順で返されます。この要求は、一部の古い Request Center 統合ポイントとの下位互換性のためだけにサポートされているため、Web サービスで使用しないでください。

getRequisitions 要求

getRequisitions は、指定した最大数まで、要求をすべて返します。返される要求の表示タイプやステータスを指定することもできます。この要求は、一部の古い Request Center 統合ポイントとの下位互換性のためだけにサポートされているため、Web サービスで使用しないでください。

要求のステータスの入手

getRequisitionStatus の処理では、指定した要求の承認やタスク プランのステータスに関する情報を返します。詳細度は、My Services ユーザが配信計画を表示した場合の内容と同程度です。

 

getRequisitionStatus 要求

この要求は、要求の現在のステータスに関する情報を返します。

XML 要素(およびドキュメントの階層)
説明

loginUserName

情報を要求するユーザの名前。このユーザは要求を表示する権限を持っている必要があります。

requisitionid

紹介される要求の ID。

GetRequisitionStatus 応答

要求を取得する要求が成功すると、その応答には要求に関する情報が含まれます。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
</soap:Body>
</soap:Envelope>

get*RequisitionsResult 応答の属性を、以下の表に要約します。

XML 要素
説明

getRequisitionStatusResponse > get*RequisitionsResult

RequisitionEntryStatuses > RequisitionEntryStatus

要求内の各サービスに対する 1 つのステータス ブロック

itemNumber

要求内でサービスに割り当てられた連続番号

quantity

サービス オーダーの数

requisitionEntryId

サービスの要求エントリ ID

serviceName

サービスの名前

status

要求エントリの現在のステータス

requisitionStepStatuses > RequisitionStepStatus

サービスの提供計画に設定されている各時点についての StepStatus

dueDate

現在の承認、確認、またはタスクの期限の日付

name

配信計画での時点。(「Service Group Authorization」または「Delivery project for <service name>」など)

stepStatus

タスクのステータス。(「In Progress」、「Pending」、「Completed」など)

要求へのコメントの追加

addComments によって、指定した要求にユーザのコメントを追加します。

addComments 要求

この要求では、指定したコメントを指定した要求に追加します。指定されたユーザは、要求にアクセスする権限を持っている必要があります。

XML 要素(およびドキュメントの階層)
説明

loginUserName

コメントを追加するユーザの名前

requisitionid

対象となる要求の ID

commentText

ユーザ コメントのテキスト

 

要求のキャンセル

cancelRequisition は、指定したサービス要求をキャンセルするために使用します。要求に含まれるすべてのサービスがキャンセルされます。

cancelrequisitionentry は、サービス要求内にある指定したサービス(要求エントリ)をキャンセルします。要求内の唯一(または最後)のサービスの場合は、要求がキャンセルされます。そうでない場合は、ステータスは変更されないままになります。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:req=>
<soapenv:Header>
<req:AuthenticationToken>
<req:Username>admin</req:Username>
<req:Password>admin</req:Password>
</req:AuthenticationToken>
</soapenv:Header>
<soapenv:Body>
<req:cancelRequisition>
<req:loginUserName>ltierstein</req:loginUserName>
<req:requisitionId>99</req:requisitionId>
</req:cancelRequisition>
</soapenv:Body>
</soapenv:Envelope>
 

応答は以下に示すとおりです(読みやすくするために書式化してあります)。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<ns1:cancelRequisitionResponse xmlns:ns1="http://requisition.api.newscale.com">
<ns1:cancelRequisitionResult
ns1:closedDate="2009-06-02T12:04:32.837-07:00"
ns1:customer="Leslie Tierstein"
ns1:dueDate="2009-04-03T15:00:00-07:00"
ns1:id="99"
ns1:initiator="Leslie Tierstein"
ns1:startedDate="2009-04-03T09:55:54.843-07:00"
ns1:status="Cancelled"/>
</ns1:cancelRequisitionResponse>
</soap:Body>
</soap:Envelope>

タスク管理用の Web サービス

概要

タスク管理用の Web サービスから実行できる処理を、以下の表に要約します。

要求
説明

approveTask

承認/許可の許可

getAuthorizations

承認の入手

getAuthorizationsForUser

指定したユーザの承認の入手

getMyAuthorizations

指定した人に割り当てられている承認の入手

rejectSelectedReqEntry

指定したサービス(要求エントリ)の拒否

rejectTask

承認/許可の拒否

reviewTask

「確認」タスクを確認済みとしてマーク

承認のリストの入手

getAuthorizations および getMyAuthorizations 操作は、「In Progress」である承認についての情報を返します。これらは要求に含めることのできる引数が異なります。

要求サービスの操作では、操作の対象となる Web Services Administrative ユーザ(SOAP ヘッダーで指定)や Request Center ユーザごとに個別のプロビジョニングを行いますが、それとは異なり、これらのタスク サービスの操作では、ユーザを 1 名のみ SOAP ヘッダーに指定できます。したがって、承認を入手または処理されるユーザは、Web サービス モジュールの Task Access 権限を持っている必要があります。次の手順を実行します。

この権限が含まれるロールを作成します。承認を実行する権限は My Services Professional ロールに含まれているので、このロールの子を作成します。

 

Web サービスを使用して、自身の承認を確認または処理する必要のあるユーザに、このロールを割り当てます(追加するか、または My Services Professional の代わりとします)。

 

getMyAuthorizations 要求

getMyAuthorizations は、すべてのオープン状態の要求を、SOAP ヘッダーに Request Center のクレデンシャルが指定された個人に対して、指定されている最大数まで返します。要求は、要求 ID の降順で返されます。この要求は、JSR168 準拠の承認ポートレットでの使用だけがサポートされており、Web サービスでは使用できません。

getAuthorizations 要求

getAuthorizations は、リストで指定した承認から開始して、特定の承認の最大数まで、すべての承認を返します。返される要求の表示タイプやステータスを指定することもできます。この要求は、JSR168 準拠の承認ポートレットでの使用だけがサポートされており、Web サービスでは使用できません。

getAuthorizationsForUser 要求(内部用途のみ、非サポート)

上記の getAuthorizations とよく似ていますが、承認を入手する対象のユーザを指定できる userLoginName パラメータが追加されています。

getAuthorizationsForUser SOAP 要求の例

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:smt="http://smtask.api.newscale.com">   <soapenv:Header>
      <smt:AuthenticationToken>
         <smt:Username>admin</smt:Username>
         <smt:Password>admin</smt:Password>
      </smt:AuthenticationToken>
   </soapenv:Header>
   <soapenv:Body>
      <smt:getAuthorizationsForUser>
         <smt:userLoginName>qreviewer</smt:userLoginName>
         <smt:startRow>0</smt:startRow>
         <smt:numberOfRows>5</smt:numberOfRows>
         <smt:status>1</smt:status>
         <smt:viewType>2</smt:viewType>
      </smt:getAuthorizationsForUser>
   </soapenv:Body>
</soapenv:Envelope>

getAuthorizations 要求および getAuthorizationsForUser 要求に役立つパラメータ

パラメータ

Status

進行中:1

キャンセル済み:2

許可済み:3

拒否済み:4

確認済み:5

すべて:6

ViewType

自身の承認:1

自身の割り当ておよび非割り当て:2

承認の許可または拒否

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:smt="http://smtask.api.newscale.com">
<soapenv:Header>
<smt:AuthenticationToken>
<!--Optional:-->
<smt:Username>admin</smt:Username>
<!--Optional:-->
<smt:Password>admin</smt:Password>
</smt:AuthenticationToken>
</soapenv:Header>
<soapenv:Body>
<smt:approveTask>
<smt:approverLoginName>maria</smt:approverLoginName>
<smt:taskID>281</smt:taskID>
</smt:approveTask>
</soapenv:Body>
</soapenv:Envelope>
 

応答は以下に示すとおりです(読みやすくするために書式化してあります)。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<ns1:approveTaskResponse xmlns:ns1="http://smtask.api.newscale.com">
<ns1:approveTaskResult
ns1:actionID="5"
ns1:requisitionId="103"
ns1:status="approved"
ns1:taskName="Computer Memory - Upgrade - APPROVAL NEEDED"/>
</ns1:approveTaskResponse>
</soap:Body>
</soap:Envelope>
 

ポートフォリオ管理用の Web サービス

概要

要求
説明

exportOfferingCostData

1 回以上の提供についてのコスト情報をエクスポートします。

getAllServiceOfferingStatus

すべての提供サービスの名前と現在のステータスを取得します。

getServiceOfferingStatus

指定した文字列に名前が一致するすべての提供サービスの名前と現在のステータスを入手します。

importOfferingCostData

コスト情報をインポートします。

提供コストに関するデータのエクスポート

exportOfferingCostData 操作では、1 回以上のサービスについてのコスト情報がエクスポートされます。

提供サービスとそのステータスの入手

getAllServiceOfferingStatus では、すべての提供サービスの名前と現在のステータスを入手します。

getServiceOfferingStatus では、指定した検索条件に名前が一致するすべてのサービスの名前とステータスを入手します。検索条件には任意の文字列を指定できます。検索では大文字小文字は区別されません。

getServiceOfferingStatus 要求

getServiceOfferingStatus 要求の例を以下に示します。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:fin="http://financialmanagement.api.newscale.com">
<soapenv:Header>
<fin:AuthenticationToken>
<fin:Username>admin</fin:Username>
<fin:Password>admin</fin:Password>
</fin:AuthenticationToken>
</soapenv:Header>
<soapenv:Body>
<fin:getServiceOfferingStatus>
<fin:searchString>EMAIL</fin:searchString>
</fin:getServiceOfferingStatus>
</soapenv:Body>
</soapenv:Envelope>

getAllServiceOfferingStatus 要求

メッセージ本文にユーザが指定するパラメータは必要ありません。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:fin="http://financialmanagement.api.newscale.com">
<soapenv:Header>
<fin:AuthenticationToken>
<fin:Username>admin</fin:Username>
<fin:Password>admin</fin:Password>
</fin:AuthenticationToken>
</soapenv:Header>
<soapenv:Body>
<fin:getAllServiceOfferingStatus/>
</soapenv:Body>
</soapenv:Envelope>

getServiceOfferingStatus の応答

提供サービスごとに、応答には提供名とそのステータスが含まれます。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<ns1:getServiceOfferingStatusResponse xmlns:ns1="http://financialmanagement.api.newscale.com">
<ns1:getServiceOfferingsResult>
<ns1:ServiceOfferingStatus>
<serviceOfferingName xmlns="http://financialmanagement.api.newscale.com">Email and Calendaring - FY08</serviceOfferingName>
<status xmlns="http://financialmanagement.api.newscale.com">draft</status>
</ns1:ServiceOfferingStatus>
</ns1:getServiceOfferingsResult>
</ns1:getServiceOfferingStatusResponse>
</soap:Body>
</soap:Envelope>
 

要求と応答の

getServiceDefinition の応答

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<ns1:getServiceDefinitionResponse xmlns:ns1=>
<ns1:getServiceDefinitionResult>
<dictionaries>
<Dictionary>
<fields>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>ModelNumber</fieldName>
<inputType>text</inputType>
<label>Model Number</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>AssetTag</fieldName>
<inputType>text</inputType>
<label>Asset Tag</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
</fields>
<name>NewLaptop</name>
<readable>true</readable>
<writable>true</writable>
</Dictionary>
<Dictionary>
<fields>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string>admin</string>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>First_Name</fieldName>
<inputType>text</inputType>
<label>First Name</label>
<mandatory>false</mandatory>
<maxLength>100</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string>admin</string>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Last_Name</fieldName>
<inputType>text</inputType>
<label>Last Name</label>
<mandatory>false</mandatory>
<maxLength>100</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string>admin</string>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Login_ID</fieldName>
<inputType>hidden</inputType>
<label>Login ID</label>
<mandatory>false</mandatory>
<maxLength>200</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Personal_Identification</fieldName>
<inputType>text</inputType>
<label>Personal_Identification</label>
<mandatory>false</mandatory>
<maxLength>510</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string>ed @cisco.com</string>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Email_Address</fieldName>
<inputType>text</inputType>
<label>Email Address</label>
<mandatory>false</mandatory>
<maxLength>1024</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string>Site Administration</string>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Home_Organizational_Unit</fieldName>
<inputType>text</inputType>
<label>Department</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Company_State</fieldName>
<inputType>text</inputType>
<label>State</label>
<mandatory>false</mandatory>
<maxLength>100</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Supervisor</fieldName>
<inputType>hidden</inputType>
<label>Supervisor</label>
<mandatory>false</mandatory>
<maxLength>100</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Supervisor_Email</fieldName>
<inputType>hidden</inputType>
<label>Supervisor Email</label>
<mandatory>false</mandatory>
<maxLength>1024</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Custom_1</fieldName>
<inputType>text</inputType>
<label>Custom_1</label>
<mandatory>false</mandatory>
<maxLength>200</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Custom_2</fieldName>
<inputType>text</inputType>
<label>Custom_2</label>
<mandatory>false</mandatory>
<maxLength>200</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
</fields>
<name>Customer_Information</name>
<readable>true</readable>
<writable>true</writable>
</Dictionary>
<Dictionary>
<fields>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string>admin</string>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>First_Name</fieldName>
<inputType>text</inputType>
<label>First Name</label>
<mandatory>false</mandatory>
<maxLength>100</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string>admin</string>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Last_Name</fieldName>
<inputType>text</inputType>
<label>Last Name</label>
<mandatory>false</mandatory>
<maxLength>100</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string>admin</string>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Login_ID</fieldName>
<inputType>text</inputType>
<label>Login ID</label>
<mandatory>false</mandatory>
<maxLength>200</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Personal_Identification</fieldName>
<inputType>hidden</inputType>
<label>Personal Identification</label>
<mandatory>false</mandatory>
<maxLength>510</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string>ed @cisco.com</string>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Email_Address</fieldName>
<inputType>text</inputType>
<label>Email Address</label>
<mandatory>false</mandatory>
<maxLength>1024</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string>Site Administration</string>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Home_Organizational_Unit</fieldName>
<inputType>text</inputType>
<label>Department</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
</fields>
<name>Initiator_Information</name>
<readable>false</readable>
<writable>false</writable>
</Dictionary>
<Dictionary>
<fields>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string>Yes</string>
</defaultValue>
<fieldDataType>Boolean</fieldDataType>
<fieldName>PerformWork</fieldName>
<inputType>radio</inputType>
<label>Will work be performed at the customer location?</label>
<mandatory>false</mandatory>
<maxLength>0</maxLength>
<selectableValues>
<string>Yes</string>
<string>No</string>
</selectableValues>
</DictionaryField>
</fields>
<name>RC_PerformWork</name>
<readable>true</readable>
<writable>true</writable>
</Dictionary>
<Dictionary>
<fields>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Street1</fieldName>
<inputType>text</inputType>
<label>Street</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Street2</fieldName>
<inputType>hidden</inputType>
<label>Street2</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Floor</fieldName>
<inputType>hidden</inputType>
<label>Floor</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>OfficeCubeRoom</fieldName>
<inputType>text</inputType>
<label>OfficeCubeRoom</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Building</fieldName>
<inputType>hidden</inputType>
<label>Building</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>City</fieldName>
<inputType>text</inputType>
<label>City</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>State</fieldName>
<inputType>text</inputType>
<label>State</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>PostalCode</fieldName>
<inputType>text</inputType>
<label>Zip Code</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Country</fieldName>
<inputType>hidden</inputType>
<label>Country</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>MailStop</fieldName>
<inputType>hidden</inputType>
<label>MailStop</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Region</fieldName>
<inputType>hidden</inputType>
<label>Region</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>District</fieldName>
<inputType>hidden</inputType>
<label>District</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>LocationName</fieldName>
<inputType>hidden</inputType>
<label>LocationName</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>LocationCode</fieldName>
<inputType>hidden</inputType>
<label>LocationCode</label>
<mandatory>false</mandatory>
<maxLength>50</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
</fields>
<name>RC_RequestorLocation</name>
<readable>true</readable>
<writable>true</writable>
</Dictionary>
<Dictionary>
<fields>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Street</fieldName>
<inputType>text</inputType>
<label>Street</label>
<mandatory>false</mandatory>
<maxLength>40</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>OfficeCubeRoom</fieldName>
<inputType>text</inputType>
<label>OfficeCubeRoom</label>
<mandatory>false</mandatory>
<maxLength>40</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>State</fieldName>
<inputType>text</inputType>
<label>State</label>
<mandatory>false</mandatory>
<maxLength>40</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>City</fieldName>
<inputType>text</inputType>
<label>City</label>
<mandatory>false</mandatory>
<maxLength>40</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>BuildingName</fieldName>
<inputType>hidden</inputType>
<label>BuildingName</label>
<mandatory>false</mandatory>
<maxLength>40</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>Floor</fieldName>
<inputType>hidden</inputType>
<label>Floor</label>
<mandatory>false</mandatory>
<maxLength>40</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
<DictionaryField>
<canSelectMultiple>false</canSelectMultiple>
<defaultValue>
<string/>
</defaultValue>
<fieldDataType>Text</fieldDataType>
<fieldName>ZipCode</fieldName>
<inputType>text</inputType>
<label>Zip Code</label>
<mandatory>false</mandatory>
<maxLength>15</maxLength>
<selectableValues>
<string/>
</selectableValues>
</DictionaryField>
</fields>
<name>RC_ServiceLocation</name>
<readable>true</readable>
<writable>true</writable>
</Dictionary>
</dictionaries>
<estimatedpriceperunit>1500.0</estimatedpriceperunit>
<name>New Standard Laptop Computer</name>
<pricingmodel>0</pricingmodel>
<quantity>0</quantity>
<serviceId>5</serviceId>
<version>32</version>
</ns1:getServiceDefinitionResult>
</ns1:getServiceDefinitionResponse>
</soap:Body>
</soap:Envelope>

submitRequisition の応答の例

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:req=>
<soapenv:Header>
<req:AuthenticationToken>
<req:Username>admin</req:Username>
<req:Password>admin</req:Password>
</req:AuthenticationToken>
</soapenv:Header>
<soapenv:Body>
<req:submitRequisition>
<req:initiatorLoginName>admin</req:initiatorLoginName>
<req:customerLoginName>admin</req:customerLoginName>
<req:serviceRequests>
<req:ServiceRequest>
<req:name>New Standard Laptop Computer</req:name>
<req:quantity>1</req:quantity>
<req:sections>
<req:Section>
<req:fields>
<req:Field>
<req:name>ModelNumber</req:name>
<req:value>
<req:string>T60</req:string>
</req:value>
</req:Field>
<req:Field>
<req:name>AssetTag</req:name>
<req:value>
<req:string>ABC123</req:string>
</req:value>
</req:Field>
</req:fields>
<req:name>NewLaptop</req:name>
</req:Section>
<req:Section>
<req:fields>
<req:Field>
<req:name>First_Name</req:name>
<req:value>
<req:string>admin</req:string>
</req:value>
</req:Field>
<req:Field>
<req:name>Last_Name</req:name>
<req:value>
<req:string>admin</req:string>
</req:value>
</req:Field>
<req:Field>
<req:name>Login_ID</req:name>
<req:value>
<req:string>admin</req:string>
</req:value>
</req:Field>
<req:Field>
<req:name>Personal_Identification</req:name>
<req:value>
<req:string />
</req:value>
</req:Field>
<req:Field>
<req:name>Email_Address</req:name>
<req:value>
<req:string>training3@cisco.com</req:string>
</req:value>
</req:Field>
<req:Field>
<req:name>Home_Organizational_Unit</req:name>
<req:value>
<req:string>Site Administration</req:string>
</req:value>
</req:Field>
<req:Field>
<req:name>Company_State</req:name>
<req:value>
<req:string />
</req:value>
</req:Field>
<req:Field>
<req:name>Supervisor</req:name>
<req:value>
<req:string />
</req:value>
</req:Field>
<req:Field>
<req:name>Supervisor_Email</req:name>
<req:value>
<req:string />
</req:value>
</req:Field>
<req:Field>
<req:name>Custom_1</req:name>
<req:value>
<req:string />
</req:value>
</req:Field>
<req:Field>
<req:name>Custom_2</req:name>
<req:value>
<req:string />
</req:value>
</req:Field>
</req:fields>
<req:name>Customer_Information</req:name>
</req:Section>
<req:Section>
<req:fields>
<req:Field>
<req:name>First_Name</req:name>
<req:value>
<req:string>admin</req:string>
</req:value>
</req:Field>
<req:Field>
<req:name>Last_Name</req:name>
<req:value>
<req:string>admin</req:string>
</req:value>
</req:Field>
<req:Field>
<req:name>Login_ID</req:name>
<req:value>
<req:string>admin</req:string>
</req:value>
</req:Field>
<req:Field>
<req:name>Personal_Identification</req:name>
<req:value>
<req:string />
</req:value>
</req:Field>
<req:Field>
<req:name>Email_Address</req:name>
<req:value>
<req:string>training3@cisco.com</req:string>
</req:value>
</req:Field>
<req:Field>
<req:name>Home_Organizational_Unit</req:name>
<req:value>
<req:string>Site Administration</req:string>
</req:value>
</req:Field>
</req:fields>
<req:name>Initiator_Information</req:name>
</req:Section>
</req:sections>
<req:version>32</req:version>
</req:ServiceRequest>
</req:serviceRequests>
</req:submitRequisition>
</soapenv:Body>
</soapenv:Envelope>

getMyAuthorizations の応答の例

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<ns1:getMyAuthorizationsResponse xmlns:ns1="http://smtask.api.newscale.com">
<ns1:getMyAuthorizationsResult>
<ns1:Activity>
<activityFormId xmlns="http://smtask.api.newscale.com">2</activityFormId>
<activityTypeId xmlns="http://smtask.api.newscale.com">2</activityTypeId>
<actualDuration xmlns="http://smtask.api.newscale.com">0.0</actualDuration>
<agentId xmlns="http://smtask.api.newscale.com">0</agentId>
<clientOrganizationalUnit xmlns="http://smtask.api.newscale.com">
<authorizationStructure>0</authorizationStructure>
<billable>true</billable>
<costCenterCode xsi:nil="true"/>
<description xsi:nil="true"/>
<GUID>3C921968-6474-45B2-8D65-A1822E52782F</GUID>
<id>6</id>
<localeId>1</localeId>
<managerId>0</managerId>
<managerName xsi:nil="true"/>
<name>Field Sales</name>
<organizationalUnitTypeId>2</organizationalUnitTypeId>
<parentId>0</parentId>
<parentName xsi:nil="true"/>
<parentOrganizationalUnitGuid xsi:nil="true"/>
<placeId>0</placeId>
<placeName xsi:nil="true"/>
<recordStateId>1</recordStateId>
<tenantId>1</tenantId>
</clientOrganizationalUnit>
<clientOuId xmlns="http://smtask.api.newscale.com">6</clientOuId>
<creatorObjectId xmlns="http://smtask.api.newscale.com">57</creatorObjectId>
<creatorObjectInstId xmlns="http://smtask.api.newscale.com">9</creatorObjectInstId>
<customer xsi:nil="true" xmlns="http://smtask.api.newscale.com"/>
<customerId xmlns="http://smtask.api.newscale.com">12</customerId>
<customerName xmlns="http://smtask.api.newscale.com">Terry Training</customerName>
<customerRoleId xmlns="http://smtask.api.newscale.com">0</customerRoleId>
<customerRoleName xsi:nil="true" xmlns="http://smtask.api.newscale.com"/>
<defActivityId xmlns="http://smtask.api.newscale.com">0</defActivityId>
<depth xmlns="http://smtask.api.newscale.com">0</depth>
<displayOrder xmlns="http://smtask.api.newscale.com">0</displayOrder>
<dueOn xmlns="http://smtask.api.newscale.com">2009-06-03T23:00:00-07:00</dueOn>
<dueOnTz xmlns="http://smtask.api.newscale.com">149</dueOnTz>
<effort xmlns="http://smtask.api.newscale.com">0.5</effort>
<escalationLevel xmlns="http://smtask.api.newscale.com">0</escalationLevel>
<expectedDuration xmlns="http://smtask.api.newscale.com">8.0</expectedDuration>
<flagId xmlns="http://smtask.api.newscale.com">0</flagId>
<formURL xsi:nil="true" xmlns="http://smtask.api.newscale.com"/>
<group xmlns="http://smtask.api.newscale.com">0</group>
<hasChildren xmlns="http://smtask.api.newscale.com">false</hasChildren>
<icon xsi:nil="true" xmlns="http://smtask.api.newscale.com"/>
<id xmlns="http://smtask.api.newscale.com">422</id>
<instructions xmlns="http://smtask.api.newscale.com"/>
<isBusy xmlns="http://smtask.api.newscale.com">0</isBusy>
<isLast xmlns="http://smtask.api.newscale.com">false</isLast>
<lastChannelId xsi:nil="true" xmlns="http://smtask.api.newscale.com"/>
<listCount xmlns="http://smtask.api.newscale.com">-1</listCount>
<nextActionId xmlns="http://smtask.api.newscale.com">5</nextActionId>
<overbookTime xmlns="http://smtask.api.newscale.com">0</overbookTime>
<parentId xmlns="http://smtask.api.newscale.com">0</parentId>
<performerActualDuration xmlns="http://smtask.api.newscale.com">0.0</performerActualDuration>
<performerId xmlns="http://smtask.api.newscale.com">11</performerId>
<performerName xmlns="http://smtask.api.newscale.com">Jared Roberts</performerName>
<performerOfficeId xmlns="http://smtask.api.newscale.com">0</performerOfficeId>
<performerRoleId xmlns="http://smtask.api.newscale.com">331</performerRoleId>
<performerRoleName xsi:nil="true" xmlns="http://smtask.api.newscale.com"/>
<performerSharable xmlns="http://smtask.api.newscale.com">false</performerSharable>
<performerShared xmlns="http://smtask.api.newscale.com">false</performerShared>
<priority xmlns="http://smtask.api.newscale.com">0</priority>
<priorityName xsi:nil="true" xmlns="http://smtask.api.newscale.com"/>
<processId xmlns="http://smtask.api.newscale.com">0</processId>
<projectActivityId xmlns="http://smtask.api.newscale.com">0</projectActivityId>
<reqId xmlns="http://smtask.api.newscale.com">170</reqId>
<retryCount xmlns="http://smtask.api.newscale.com">0</retryCount>
<scheduledStart xmlns="http://smtask.api.newscale.com">2009-06-03T15:00:00-07:00</scheduledStart>
<startedOn xmlns="http://smtask.api.newscale.com">2009-06-03T12:09:41.443-07:00</startedOn>
<startedOnTz xmlns="http://smtask.api.newscale.com">149</startedOnTz>
<stateId xmlns="http://smtask.api.newscale.com">6</stateId>
<stateName xsi:nil="true" xmlns="http://smtask.api.newscale.com"/>
<stepId xmlns="http://smtask.api.newscale.com">4</stepId>
<stepLogicName xsi:nil="true" xmlns="http://smtask.api.newscale.com"/>
<subject xmlns="http://smtask.api.newscale.com">Computer Memory - Upgrade - APPROVAL NEEDED</subject>
<taskUrl xsi:nil="true" xmlns="http://smtask.api.newscale.com"/>
<ticketId xmlns="http://smtask.api.newscale.com">175</ticketId>
<ticketObjectId xmlns="http://smtask.api.newscale.com">37</ticketObjectId>
<totalCost xmlns="http://smtask.api.newscale.com">0.0</totalCost>
<waiting xmlns="http://smtask.api.newscale.com">0</waiting>
<WDDXCheckList xsi:nil="true" xmlns="http://smtask.api.newscale.com"/>
</ns1:Activity>
</ns1:getMyAuthorizationsResult>
</ns1:getMyAuthorizationsResponse>
</soap:Body>
</soap:Envelope>

exportOfferingCostData の応答の例

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<ns1:exportOfferingCostDataResponse xmlns:ns1="http://financialmanagement.api.newscale.com">
<ns1:exportOfferingCostDataResult>
<ns1:ServiceOffering>
<componentServices xmlns="http://financialmanagement.api.newscale.com">
<ComponentService>
<category>Infrastructure</category>
<estimatedQuantityPerPeriod>0.0</estimatedQuantityPerPeriod>
<name>Internet</name>
<objectiveMultiplierList>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Bronze Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Gold Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Silver Support</objectivename>
</ObjectiveMultiplier>
</objectiveMultiplierList>
<quantityIncludedPerAgreementPeriod/>
<unitPrice>0.0</unitPrice>
</ComponentService>
<ComponentService>
<category>Hardware</category>
<estimatedQuantityPerPeriod>0.0</estimatedQuantityPerPeriod>
<name>CD Burner - Add</name>
<objectiveMultiplierList>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Bronze Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Gold Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Silver Support</objectivename>
</ObjectiveMultiplier>
</objectiveMultiplierList>
<quantityIncludedPerAgreementPeriod>Users.units*0.9</quantityIncludedPerAgreementPeriod>
<unitPrice>87.45</unitPrice>
</ComponentService>
<ComponentService>
<category>Hardware</category>
<estimatedQuantityPerPeriod>0.0</estimatedQuantityPerPeriod>
<name>Computer Memory - Upgrade</name>
<objectiveMultiplierList>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Bronze Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Gold Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Silver Support</objectivename>
</ObjectiveMultiplier>
</objectiveMultiplierList>
<quantityIncludedPerAgreementPeriod>Users.units*0.15</quantityIncludedPerAgreementPeriod>
<unitPrice>300.0</unitPrice>
</ComponentService>
<ComponentService>
<category>Hardware</category>
<estimatedQuantityPerPeriod>0.0</estimatedQuantityPerPeriod>
<name>Desktop Printer - Black and White Inkjet</name>
<objectiveMultiplierList>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Bronze Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Gold Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Silver Support</objectivename>
</ObjectiveMultiplier>
</objectiveMultiplierList>
<quantityIncludedPerAgreementPeriod>Users.units*0.05</quantityIncludedPerAgreementPeriod>
<unitPrice>87.0</unitPrice>
</ComponentService>
<ComponentService>
<category>Hardware</category>
<estimatedQuantityPerPeriod>0.0</estimatedQuantityPerPeriod>
<name>New Desktop Computer - Add</name>
<objectiveMultiplierList>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Bronze Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Gold Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Silver Support</objectivename>
</ObjectiveMultiplier>
</objectiveMultiplierList>
<quantityIncludedPerAgreementPeriod>Users.units*0.05</quantityIncludedPerAgreementPeriod>
<unitPrice>1260.0</unitPrice>
</ComponentService>
<ComponentService>
<category>Hardware</category>
<estimatedQuantityPerPeriod>0.0</estimatedQuantityPerPeriod>
<name>USB Flash Drive</name>
<objectiveMultiplierList>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Bronze Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Gold Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Silver Support</objectivename>
</ObjectiveMultiplier>
</objectiveMultiplierList>
<quantityIncludedPerAgreementPeriod>Users.units*1</quantityIncludedPerAgreementPeriod>
<unitPrice>41.0</unitPrice>
</ComponentService>
<ComponentService>
<category>Software</category>
<estimatedQuantityPerPeriod>0.0</estimatedQuantityPerPeriod>
<name>Adobe Photoshop - Add</name>
<objectiveMultiplierList>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Bronze Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Gold Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Silver Support</objectivename>
</ObjectiveMultiplier>
</objectiveMultiplierList>
<quantityIncludedPerAgreementPeriod>Users.units*0.25</quantityIncludedPerAgreementPeriod>
<unitPrice>239.0</unitPrice>
</ComponentService>
<ComponentService>
<category>Software</category>
<estimatedQuantityPerPeriod>0.0</estimatedQuantityPerPeriod>
<name>Microsoft Office - Add</name>
<objectiveMultiplierList>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Bronze Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Gold Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Silver Support</objectivename>
</ObjectiveMultiplier>
</objectiveMultiplierList>
<quantityIncludedPerAgreementPeriod>Users.units*1</quantityIncludedPerAgreementPeriod>
<unitPrice>133.0</unitPrice>
</ComponentService>
<ComponentService>
<category>Support</category>
<estimatedQuantityPerPeriod>0.0</estimatedQuantityPerPeriod>
<name>Service Desk Level 1 Support</name>
<objectiveMultiplierList>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Bronze Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Gold Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Silver Support</objectivename>
</ObjectiveMultiplier>
</objectiveMultiplierList>
<quantityIncludedPerAgreementPeriod>Users.units*5</quantityIncludedPerAgreementPeriod>
<unitPrice>15.0</unitPrice>
</ComponentService>
<ComponentService>
<category>Support</category>
<estimatedQuantityPerPeriod>0.0</estimatedQuantityPerPeriod>
<name>Service Desk Level 2 Support</name>
<objectiveMultiplierList>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Bronze Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Gold Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Silver Support</objectivename>
</ObjectiveMultiplier>
</objectiveMultiplierList>
<quantityIncludedPerAgreementPeriod>Users.units*2</quantityIncludedPerAgreementPeriod>
<unitPrice>50.0</unitPrice>
</ComponentService>
<ComponentService>
<category>Support</category>
<estimatedQuantityPerPeriod>0.0</estimatedQuantityPerPeriod>
<name>Virus Removal</name>
<objectiveMultiplierList>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Bronze Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Gold Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Silver Support</objectivename>
</ObjectiveMultiplier>
</objectiveMultiplierList>
<quantityIncludedPerAgreementPeriod>Users.units*0.9</quantityIncludedPerAgreementPeriod>
<unitPrice>42.0</unitPrice>
</ComponentService>
</componentServices>
<costDrivers xmlns="http://financialmanagement.api.newscale.com">
<CostDriver>
<benchmarkUnitPrice>850.0</benchmarkUnitPrice>
<estimatedTotalCost>69.46</estimatedTotalCost>
<estimatedUnitsPerPeriod>1.00</estimatedUnitsPerPeriod>
<margin>0.0</margin>
<name>Users</name>
<objectiveMultiplierList>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Bronze Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Gold Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Silver Support</objectivename>
</ObjectiveMultiplier>
</objectiveMultiplierList>
</CostDriver>
<CostDriver>
<benchmarkUnitPrice>0.0</benchmarkUnitPrice>
<estimatedTotalCost>0.83</estimatedTotalCost>
<estimatedUnitsPerPeriod>1.00</estimatedUnitsPerPeriod>
<margin>0.0</margin>
<name>Gigabytes</name>
<objectiveMultiplierList>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Bronze Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Gold Support</objectivename>
</ObjectiveMultiplier>
<ObjectiveMultiplier>
<multiplier>1.0</multiplier>
<objectivename>Silver Support</objectivename>
</ObjectiveMultiplier>
</objectiveMultiplierList>
</CostDriver>
</costDrivers>
<name xmlns="http://financialmanagement.api.newscale.com">Employee Desktop Computing</name>
<status xsi:nil="true" xmlns="http://financialmanagement.api.newscale.com"/>
</ns1:ServiceOffering>
</ns1:exportOfferingCostDataResult>
</ns1:exportOfferingCostDataResponse>
</soap:Body>
</soap:Envelope>
 

Web サービスのエラー メッセージ

以下のエラー メッセージにおいて数値を波カッコで囲んだ記号の部分(「{0}」など)は、実際のエラー メッセージではエラーの発生元となったオブジェクトの名前や ID で置き換えられます。

AUTH_0001

このユーザはまだ認証されていないか、セッションがタイムアウトになっています。

AUTH_0002

ユーザ「{0}」の認証に失敗しました。

AUTH_0003

Request Center は SSO を使用するよう設定されていますが、設定の問題により SSO が正しく動作していません。

AUTH_0005

ユーザ名のヘッダーが正しくありません。存在していないか、空白です。正確なヘッダーを送信してください。

AUTH_0006

Web サービスへのアクセスがオフになっています。

AUTH_0007

ユーザがこの Web サービスにアクセスできません。

INFRA_0001

Request Center Business Engine キューが使用できず、非同期送信についての管理者設定がオンになっているため、要求を送信できません。後で再実行するか、管理者にお問い合わせください。

REQ_0001

イニシエータ「{0}」がシステム上で見つかりません。

REQ_0002

カスタマー「{0}」がシステム上で見つかりません。

REQ_0003

サービス「{0}」がシステム上で見つかりません。

REQ_0004

ユーザ「{0}」がシステム上で見つかりません。

REQ_0005

要求 ID「{0}」がシステム上で見つかりません。

REQ_0006

指定した要求 ID「{1}」が一致しないため、要求エントリ「{0}」をキャンセルできません。

REQ_0007

指定したサービス「{1}」が一致しないため、要求エントリ「{0}」をキャンセルできません。

REQ_0008

ユーザにこの要求をキャンセルするための権限がありません。要求をキャンセルできるのは要求のオーナーだけです。

REQ_0009

この要求はすでにキャンセルされています。

REQ_0010

カスタマー「{0}」にはサービス「{1}」をオーダーする権限がありません。

REQ_0011

サービス「{0}」はオーダーできません。

REQ_0012

この要求にコメントを追加するための権限がユーザにありません。

REQ_0013

サービス フォームの必須フィールド「{0}」に値が入力されていません。

REQ_0014

サービス フォーム フィールド「{0}」が、許可されている最大の長さを超えています。

REQ_0015

フィールド「{0}」に有効な数字を入力してください。

REQ_0016

サービス フォーム フィールド「{0}」には、値は 1 つしか指定できません。

REQ_0017

ユーザにこの要求にアクセスするための権限がありません。

REQ_0018

要求で指定されたバージョンが、サービス「{0}」のデータベースにあるバージョンと一致しません。最新のサービス定義を使用してください。

REQ_0019

イニシエータ「{0}」には、このカスタマー「{1}」に対する Order on Behalf 権限がありません。

REQ_0020

認証済みユーザ「{0}」に、Web サービスの Requisition System Account 権限がありません。

REQ_0021

このフィールド「{0}」に渡された値が、オプション リストにありません。

REQ_0022

このフィールド「{0}」の値に、設計されている値を超える量のデータが含まれています。

REQ_0023

このフィールド「{0}」に渡された値が、オプション リストにありません。

REQ_0024

サービス フォーム フィールド「{0}」で、Date フォーマットに問題があります。

REQ_0025

サービス フォーム フィールド「{0}」で、DateTime フォーマットに問題があります。

REQ_0026

サービス フォーム フィールド「{0}」で、指定されたログイン「{1}」がシステムに存在しません。ログイン名を入力してください。

REQ_0027

この要求 ID「{0}」はキャンセルできません。この要求は閉じられています。

REQ_0028

この要求 ID「{0}」は、「point of no return」のステータスです。この要求はキャンセルできません。

REQ_0029

この要求エントリ ID「{0}」はキャンセルできません。この要求エントリは閉じられています。

REQ_0030

サービス「{0}」のステータスは Inactive です。

REQ_0031

この要求エントリ ID「{0}」はキャンセルできません。この要求エントリはすでにキャンセルされています。

REQ_0032

このフィールド「{0}」に渡された値が、オプション リストにありません。

REQ_0033

このフィールド「{0}」に渡された値が、オプション リストにありません。

REQ_0034

このフィールド「{0}」の値に、設計されている値を超える量のデータが含まれています。

REQ_0035

ディクショナリ名「{0}」がこのサービス用に存在しません。フィールド名を修正してください。

REQ_0036

ディクショナリ フィールド「{0}」がこのディクショナリ「{0}」用に存在しません。フィールド名を修正してください。

REQ_0037

ユーザにこの要求エントリをキャンセルするための権限がありません。

REQ_0038

このディクショナリ「{0}」でいくつかのフィールドが見つかりません。

REQ_0100

実行時の例外が発生しました。これは正規の Business Engine ワークフロー例外によって発生した可能性があります(Service Designer で定義されているためタスクのキャンセルが許可されていないなど)。タスク定義を確認してください。

REQ_0101

サービス フォーム データの読み取り中にランタイム エラーが発生しました。

REQ_0101

サービス フォーム データの読み取り中にランタイム エラーが発生しました。

TASK_0005

タスク「{0}」は拒否できません。

TASK_0008

タスク「{0}」がシステムにありません。

TASK_0001

ユーザ「{0}」には「{1}」を許可する権限がありません。

TASK_0002

ユーザ「{0}」には「{1}」を拒否する権限がありません。

TASK_0003

ユーザ「{0}」には「{1}」を確認する権限がありません。

TASK_0004

タスク「{0}」は許可タスクではありません。

TASK_0005

タスク「{0}」は拒否できません。

TASK_0006

タスク「{0}」は確認タスクではありません。

TASK_0008

タスク「{0}」がシステムにありません。

TASK_0009

指定したタスク ID「{1}」に対する要求エントリ ID「{0}」が一致しません。

TASK_0010

タスク「{0}」には複数の要求エントリを指定できません。

TASK_0011

タスク「{0}」には財務または OU の承認がありません。

TASK_0012

ユーザ「{0}」には、このタスク「{1}」に対する部分的な要求エントリを拒否する権限がありません。

TASK_0013

タスク「{0}」はすでに拒否されています。