機械翻訳について

モデルのテストのガイドライン

多数のモデルを効率的にテストするには、コンフィギュレータ・ランタイム・モデル・テスト・サービスを使用して、ユーザー入力を必要とせずにモデル・テストを実行できます。

コンフィギュレータ・ランタイム・モデル・テスト・サービスは、リクエストおよびレスポンス・ペイロード構造に基づいてSOAP webサービスとして実装されます。 このサービス・モデルでは、コール側アプリケーションがコンフィギュレータ・ランタイム・モデル・テスト・サービスのtestModel公開同期メソッドに入力テスト・モデルXMLペイロードを提供し、リクエストの実行後、サービスは対応する結果XMLペイロードを返します。このペイロードは、コール側アプリケーションがリクエストの結果についてイントロスペクトできます。

テスト・サービスの機能は次のとおりです:

  • アプリケーションをコールすると、任意のSOAPクライアントを使用してコンフィギュレータ・ランタイム・モデル・テスト・サービスを起動できます。 SSLポートは外部サービスであり、クラウド内のwebサービスと対話するためのデフォルト・トランスポートになるため、このWebサービスではデフォルトで有効になっています。

  • アプリケーションをコールすると、モデル・テスト・サービス・リクエストを、一度に1つのリクエストをシリアル化された方法で同期されたメソッドtestModelに送信できます。

  • コンフィギュレータ・ランタイム・モデル・テスト・サービスは、他のサービスと組み合せて使用することも、他のアプリケーションやサービス内に埋め込むこともできます。

コンフィギュレータ・ランタイム・モデル・テスト・サービスの入出力ペイロードでは、SOAP XML構造が使用されます。

コンフィグレータ・ランタイム・モデル・テスト・サービスは、自律型サービスとして実装されており、他の外部データ・モデル・エンティティは必要ありません。 サービスWSDLは、次のURL形式を使用して取得できます:

https://<hostname>:<port>/fscmRestApi/ConfiguratorRuntimeService?wsdl

このサービスでは、特定のリクエストおよびレスポンス・ペイロード構造を持つ同期メソッドtestModelが1つのみサポートされます。

testModelメソッドには、次のために必要な情報を含むリクエスト入力ペイロードが必要です:

  • 構成の起動またはリストア

  • その構成に対する操作の実行

  • 属性の構成の問合せ

  • 構成サマリーを保存してリクエスト

その後、testModelメソッドは、次のものを含むレスポンス出力ペイロードを返します:

  • テスト全体の結果

  • 個々の操作リクエスト

  • 問合せリクエスト

  • 構成サマリー・リクエスト

テスト・モデル・リクエスト構造

次のコード例は、SOAP XMLのテスト・モデル・リクエストを示しています:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <ns1:testModel xmlns:ns1="http://xmlns.oracle.com/apps/scm/configurator/runtimeService/types/">
      <ns1:request xmlns:ns2="http://xmlns.oracle.com/apps/scm/configurator/runtimeService/">
        <ns2:TestId>1</ns2:TestId>
        <ns2:TestName>test</ns2:TestName>
        <ns2:TestDescription>Test1</ns2:TestDescription>
        <ns2:InitializationParameters>
          <ns2:TestId>1</ns2:TestId>
          <ns2:ParameterId>1</ns2:ParameterId>
          <ns2:CallingApplicationCode>CZ</ns2:CallingApplicationCode>
          <ns2:Header>
            <![CDATA[
              <header>
                <HeaderId>1000</HeaderId>
              </header>
            ]] >
          </ns2:Header>
          <ns2:Line>
            <![CDATA[
              <line>
                <LineId>-22222</LineId>
                <InventoryItemNumber>zCZ-CN82441</InventoryItemNumber>
                <InventoryOrganizationCode>V1</InventoryOrganizationCode>
                <UnitQuantity>1.0</UnitQuantity>
                <UomCode>Ea</UomCode>
              </line>
            ]] >
          </ns2:Line>
          <ns2:CustomParameters>
            <![CDATA[
              <param>
                <WorkspaceName>My Workspace</WorkspaceName>
                <SnapshotBasedModel>true</SnapshotBasedModel>
              </param>
            ]] >
         </ns2:CustomParameters>
        </ns2:InitializationParameters>
        <ns2:OperationRequest>
          <ns2:OperationId>1</ns2:OperationId>
          <ns2:NodePath>zCZ-OC12100.zCZ-CM12240</ns2:NodePath>
          <ns2:Operation>Select</ns2:Operation>
          <ns2:SequenceNumber>1</ns2:SequenceNumber>
          <ns2:testId>1</ns2:testId>
          <ns2:NodeValue>1</ns2:NodeValue>
        </ns2:OperationRequest>
        <ns2:QueryRequest>
          <ns2:QueryId>1</ns2:QueryId>
          <ns2:NodePath>zCZ-OC12100.zCZ-CM12240</ns2:NodePath>
          <ns2:SequenceNumber>2</ns2:SequenceNumber>
          <ns2:testId>1</ns2:testId>
          <ns2:NodeProperty>
            <ns2:PropertyId>1</ns2:PropertyId>
            <ns2:PropertyName>Selected</ns2:PropertyName>
            <ns2:QueryId>1</ns2:QueryId>
          </ns2:NodeProperty>
        </ns2:QueryRequest>
        <ns2:ConfigSummaryRequest>
          <ns2:SummaryId>1</ns2:SummaryId>
          <ns2:TestId>1</ns2:TestId>
          <ns2:OutputMode></ns2:OutputMode>
          <ns2:SequenceNumber>3</ns2:SequenceNumber>
        </ns2:ConfigSummaryRequest>
      </ns1:request>
    </ns1:testModel>
  </soap:Body>
</soap:Envelope>

テスト・モデル・リクエストの基本構造には、次の表で説明する要素が含まれます:

testModelリクエストの要素

説明

TestId

現在のテストの一意の識別子。

同じテストIDが、テスト・リクエストの他の要素でも使用され、特定のテストと接続されます。

TestName

このテストの短縮名

TestDescription

このテストのオプションの説明

InitializationParameters

構成セッションの開始に必要なすべての情報が含まれます

OperationRequest

このテスト中に実行する1つ以上の操作

QueryRequest

操作リクエストの実行後に実行する1つ以上の問合せ

ConfigSummaryRequest

構成に含めることができるすべての項目を含む構成要約

InitializationParameters

InitializationParametersは、テスト・モデル・リクエストの属性をモデル化するXML要素です。

InitializationParametersは、構成セッションの開始またはリストアに必要な情報を含む必須属性です。 次の表に、構成を開始するために必要な初期化パラメータとオプション初期化パラメータを示します。

InitializationParametersのフィールド名

説明

TestId

現在のテストの一意の識別子。

ParameterId

この初期化パラメータ・セットを参照するためにサービスによって提供される一意の識別子

CallingApplicationCode

コンフィギュレータ・セッションを起動するコール側アプリケーションを示します。 これは、セッションに使用するユーザー・インタフェースを決定するために使用されます。 このコードは、Oracle以外の外部システムの場合、またはOracle ApplicationsのFNDアプリケーション短縮名(コード)の場合に、取引先コミュニティ・ソース・システムの管理に登録されます。 ノート: CPQには、アプリケーション・コードがORA_BM_CPQのシード済TCAデータがすでに存在

明細

構成する行を表すXMLドキュメント。 詳細は、次のセクションを参照してください

ヘッダー

(オプション)明細を含む見積またはオーダー・ヘッダーを表します。 このXML文書はオプションであり、存在する場合、コンフィギュレータは構成セッション内の価格設定統合のためにOracle Pricingなどの他のサービスにヘッダー情報を渡します

CustomParameters

(オプション)コンフィギュレータ機能拡張ルール内で使用するための、コンフィギュレータへの追加情報で構成されるXML文書

XMLドキュメントLineは、構成する行を表します。 少なくとも次のリストの情報が含まれています。

  • LineId: 構成される明細の一意識別子

  • InventoryItemNumber: 構成する製品またはサービス・モデル品目の品目番号

  • InventoryOrganizationCode: 製品またはサービス・モデル品目の品目検証組織コード。 これは通常、外部アプリケーションから品目がインポートまたは参照される組織です。

  • UnitQuantity: 構成中の品目の数量

  • UomCode: 構成する品目の単位

  • ConfigHeaderId: 構成の識別子。再構成時にのみ渡されるか、リストアおよび検証のためのセッションに渡されます

  • ConfigRevisionId: 構成の識別子。再構成/リストアおよび検証セッション中にのみ渡されます

  • RequestOn (オプション): 構成セッションのモデル定義のロードに使用される日時

OperationRequest

OperationRequestは、テスト・モデル・リクエストの属性をモデル化するXML要素です。

構成の開始後、ランタイム・ユーザー・インタフェースを使用してモデルを構成する際にエンド・ユーザーが実行できる操作と同様に、テスト・サービスを使用して一連の操作を実行できます。 テスト・モデル・リクエストには、1つ以上の操作リクエストを含めることができます。 これらの操作は、ブール機能の切替えから標準品目の数量の設定、参照モデルのインスタンスの追加および構成まで多岐にわたります。

次の表に、OperationRequestの属性を示します。

OperationRequestのフィールド名

説明

TestId

現在のテストの一意の識別子。

OperationId

操作リクエストの一意の識別子

NodePath

操作が実行されるノードへの完全修飾パス

操作

操作の名前。例:。 選択、切替え、SetValueまたはSetQuantity。 有効な操作については、次の表を参照してください。

SequenceNumber

このリクエストに優先順位を付けるために実行中に使用される連番

NodeValue

このテストのノードに適用される値。

次の表に、OperationRequest内で実行できる操作と、操作を実行できるノード・タイプを示します。

OperationRequestの有効な操作

ノード・タイプ

選択、切替え、SetQuantity

オプション区分、オプション機能、Standard品目またはオプション

切り替え

ブール機能

SetValue

テキスト機能、整数機能、小数機能またはトランザクション属性(すべてのタイプ)

AddInstance, AddInstanceWithQuanity, AddInstanceWithQuanityAndName, RenameInstance, CopyInstance, DeleteInstance, SetQuanity, SetContextPath

モデル・ノード参照

構成レベルで実行できる操作には、次のリストに示す操作が含まれます。

  • AutoComplete: 構成に対してオートコンプリート操作を実行し、構成を有効にするために必要なすべての調整を含めます。

  • UndoAutoComplete: オートコンプリート操作を元に戻します。

  • AdjustConfiguration: オートコンプリートの後に構成を調整モードにし、自動的に完了した選択に対する変更を許可します。

  • 保存: 構成を保存し、ヘッダーおよびリビジョンIDを生成します。

  • 終了: 構成を保存して閉じて、構成を終了します。

QueryRequest

QueryRequestは、テスト・モデル・リクエストの属性をモデル化するXML要素です。

操作リクエストの結果を判別するために、一連の問合せリクエストを実行して、操作リクエストが処理されたノード、または結果として変更されたモデル階層内の他のノードをイントロスペクトできます。 たとえば、操作リクエストを使用してブール機能を切り替え、その後ルールによって標準品目が選択された場合、その標準品目の状態を取得する問合せリクエストを追加できます。

次の表に、QueryRequestのフィールドを示します。

QueryRequestのフィールド名

説明

TestId

現在のテストの一意の識別子。

QueryRequestId

テストの問合せリクエストの一意の識別子

NodePath

問合せ操作が動作するノードへの完全修飾パス

SequenceNumber

このリクエストに優先順位を付けるために実行中に使用される連番

NodeProperty

結果ペイロードに返されたノードのプロパティ。 詳細は、次の表を参照してください。

各問合せリクエストには、取得するノード・プロパティを1つ以上含めることができます。 これらのノード・プロパティには、文字列や数値などのスカラー・タイプ、または問合せリクエストの結果が値リストを返すコレクションまたはリスト・タイプのいずれかを指定できます。 たとえば、標準品目の選択状態を判断するには、次の例に示すように、Selectedという名前のノード・プロパティをNodePropertyを介してリクエストできます。

<ns2:NodeProperty>
<ns2:PropertyId>1</ns2:PropertyId>
<ns2:PropertyName>Selected</ns2:PropertyName>
    <ns2:QueryId>1</ns2:QueryId>
</ns2:NodeProperty>

次の表に、NodePropertyリクエストのフィールドを示します。

NodePropertyのフィールド名

説明

PropertyId

リクエストのプロパティの一意の識別子

PropertyName

評価するノード・プロパティの名前。 各ノード・タイプでサポートされているプロパティのノード・プロパティのリストを参照してください。

QueryId

問合せリクエストの一意の識別子

CollectionProperty

評価される名前付きプロパティが、リストまたはコレクション・タイプ(AvailableChildren、SelectedChildren、SelectableChildrenなど)の場合のプロパティ・リクエストのリスト。 詳細は、次のCollectionPropertyの説明を参照してください

次の例に示すように、ノード・プロパティを選択する方法と同様に、CollectionProperty要素のプロパティ・リストにプロパティ名を追加して、リストまたはコレクション・ノードのプロパティ・タイプのスカラー・プロパティをリクエストします。


<ns2:NodeProperty> 
    <ns2:PropertyId>1</ns2:PropertyId> 
    <ns2:PropertyName>SelectedChildren</ns2:PropertyName> 
    <ns2:QueryId>1</ns2:QueryId>
    <ns2:CollectionProperty>
        <ns2:PropertyId>1</ns2:propertyId>
        <ns2:CollectionPropertyId>1</ns2:CollectionPropertyId>
        <ns2:PropertyName>Name</ns2:PropertyName>
    </ns2:CollectionProperty> 
    <ns2:CollectionProperty>
        <ns2:PropertyId>1</ns2:propertyId>
        <ns2:CollectionPropertyId>2</ns2:CollectionPropertyId>
        <ns2:PropertyName>Description</ns2:PropertyName>
    </ns2:CollectionProperty> 
</ns2:NodeProperty>

次の表に、CollectionPropertyを識別する要素を示します。

CollectionPropertyのフィールド名

説明

PropertyId

評価されるコレクション・ノード・プロパティのプロパティ名の一意の識別子。

PropertyName

評価されるコレクション・ノード・プロパティのプロパティ名

CollectionPropertyId

コレクション・ノード・プロパティの一意の識別子

ConfigSummaryRequest

ConfigSummaryRequestは、テスト・モデル・リクエストの属性をモデル化するXML要素です。

テスト・モデル・リクエストには、構成サマリーを取得するためのオプションのリクエストを含めることができます。 構成のサマリーは、出力モードによって制御される簡易または完全です。

次の表に、ConfigSummaryRequest要素のフィールドを示します。

ConfigSummaryRequestのフィールド名

説明

TestId

現在のテストの一意の識別子。

SummaryId

サマリー・リクエストの一意の識別子

OutputMode

構成サマリー出力モード。 使用可能な値は次のとおりです:

  • 概要: 構成の有効性などの構成レベルの情報、および構成オブジェクトのヘッダーIDおよびリビジョンIDのみを含めます。

  • Full (デフォルト): 簡単な出力と、構成に含めることができるすべての項目を含めます。

SequenceNumber

このリクエストに優先順位を付けるために実行中に使用される連番

テスト・モデル・レスポンス構造

モデル・テスト・レスポンス・ペイロード構造は、テスト・モデル・リクエスト・ペイロードに直接対応します。 すべての操作または問合せリクエストに対応する操作または問合せ結果は、一意の操作または問合せIDを使用して、対応するリクエストと相関付けられます。

テスト・モデルのレスポンスには、全体的なテスト・ステータスなどのテスト・レベルの情報、および構成の開始を妨げた障害メッセージが含まれます。 このレベルの情報は、各操作または問合せ結果でも使用でき、より詳細なレベルで結果をイントロスペクションできます。

次のコード例は、SOAP XMLのテスト・モデル・レスポンスを示しています:

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
              xmlns:wsa="http://www.w3.org/2005/08/addressing">
 <env:Header>
...
</env:Header>
<env:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
           wsu:Id="Body-WCk1o7Bv0d7m0fziDdW7lQ22">
  <ns0:testModelResponse xmlns:ns0="http://xmlns.oracle.com/apps/scm/configurator/runtimeService/types/">
   <ns1:result xmlns:ns0="http://xmlns.oracle.com/apps/scm/configurator/runtimeService/"
               xmlns:ns1="http://xmlns.oracle.com/apps/scm/configurator/runtimeService/types/"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:type="ns0:TestModelResponse">
    <ns0:TestId>1</ns0:TestId>
    <ns0:TestName>test</ns0:TestName>
    <ns0:TestDescription>Test1</ns0:TestDescription>
    <ns0:TestStatus>SUCCESS</ns0:TestStatus>
    <ns0:TestFailureMessage xsi:nil="true"/>
    <ns0:OperationResult>
     <ns0:OperationId>1</ns0:OperationId>
     <ns0:NodePath>zCZ-OC12100.zCZ-CM12240</ns0:NodePath>
     <ns0:Operation>Select</ns0:Operation>
     <ns0:SequenceNumber>1</ns0:SequenceNumber>
     <ns0:NodeValue>1</ns0:NodeValue>
     <ns0:OperationStatus>SUCCESS</ns0:OperationStatus>
     <ns0:OperationFailureMessage xsi:nil="true"/>
     <ns0:TestId>1</ns0:TestId>
     <ns0:ContextPath xsi:nil="true"/>
    </ns0:OperationResult>
    <ns0:QueryResult>
     <ns0:QueryId>1</ns0:QueryId>
     <ns0:NodePath>zCZ-OC12100.zCZ-CM12240</ns0:NodePath>
     <ns0:QueryResultStatus>SUCCESS</ns0:QueryResultStatus>
     <ns0:QueryResultFailureMessage xsi:nil="true"/>
     <ns0:TestId>1</ns0:TestId>
     <ns0:SequenceNumber>2</ns0:SequenceNumber>
     <ns0:ContextPath xsi:nil="true"/>
     <ns0:NodeProperty>
      <ns0:PropertyId>1</ns0:PropertyId>
      <ns0:PropertyName>Selected</ns0:PropertyName>
      <ns0:PropertyValue>true</ns0:PropertyValue>
      <ns0:QueryId>1</ns0:QueryId>
      <ns0:PropertyResultStatus>SUCCESS</ns0:PropertyResultStatus>
      <ns0:PropertyResultFailureMessage xsi:nil="true"/>
     </ns0:NodeProperty>
    </ns0:QueryResult>
    <ns0:ConfigSummaryResult xmlns:ns1="http://xmlns.oracle.com/adf/svc/types/">
     <ns0:SummaryId>1</ns0:SummaryId>
     <ns0:TestId>1</ns0:TestId>
     <ns0:ConfigHeaderId xsi:nil="true"/>
     <ns0:ConfigRevisionId xsi:nil="true"/>
     <ns0:ValidConfigurationFlag>false</ns0:ValidConfigurationFlag>
     <ns0:SequenceNumber>3</ns0:SequenceNumber>
     <ns0:RequestOn>2016-12-30</ns0:RequestOn>
     <ns0:ConfigLine>
      <ns0:LineId>1</ns0:LineId>
      <ns0:ParentLineId xsi:nil="true"/>
      <ns0:InventoryItemId>300100017155319</ns0:InventoryItemId>
      <ns0:InventoryOrganizationId>204</ns0:InventoryOrganizationId>
      <ns0:InventoryItemType>1</ns0:InventoryItemType>
      <ns0:LineQuantity xmlns:tns="http://xmlns.oracle.com/adf/svc/errors/"
                        unitCode="Ea">1</ns0:LineQuantity>
      <ns0:UOMCode>Ea</ns0:UOMCode>
      <ns0:ConfiguratorPath>300100017155319</ns0:ConfiguratorPath>
      <ns0:SummaryId>1</ns0:SummaryId>
      <ns0:InventoryItemNumber>zCZ-CN82441</ns0:InventoryItemNumber>
      <ns0:InventoryOrganizationCode>V1</ns0:InventoryOrganizationCode>
      <ns0:UnitQuantity xmlns:tns="http://xmlns.oracle.com/adf/svc/errors/"
                        unitCode="Ea">1</ns0:UnitQuantity>
     </ns0:ConfigLine>
     <ns0:ConfigLine>
      <ns0:LineId>2</ns0:LineId>
      <ns0:ParentLineId>1</ns0:ParentLineId>
      <ns0:InventoryItemId>300100017233297</ns0:InventoryItemId>
      <ns0:InventoryOrganizationId>204</ns0:InventoryOrganizationId>
      <ns0:InventoryItemType>2</ns0:InventoryItemType>
      <ns0:LineQuantity xmlns:tns="http://xmlns.oracle.com/adf/svc/errors/"
                        unitCode="Ea">1</ns0:LineQuantity>
      <ns0:UOMCode>Ea</ns0:UOMCode>
      <ns0:ConfiguratorPath>300100017155319.300100017233297</ns0:ConfiguratorPath>
      <ns0:SummaryId>1</ns0:SummaryId>
      <ns0:InventoryItemNumber>zCZ-OC12100</ns0:InventoryItemNumber>
      <ns0:InventoryOrganizationCode>V1</ns0:InventoryOrganizationCode>
      <ns0:UnitQuantity xmlns:tns="http://xmlns.oracle.com/adf/svc/errors/"
                        unitCode="Ea">1</ns0:UnitQuantity>
     </ns0:ConfigLine>
     <ns0:ConfigLine>
      <ns0:LineId>3</ns0:LineId>
      <ns0:ParentLineId>2</ns0:ParentLineId>
      <ns0:InventoryItemId>300100017232813</ns0:InventoryItemId>
      <ns0:InventoryOrganizationId>204</ns0:InventoryOrganizationId>
      <ns0:InventoryItemType>4</ns0:InventoryItemType>
      <ns0:LineQuantity xmlns:tns="http://xmlns.oracle.com/adf/svc/errors/"
                        unitCode="Ea">1</ns0:LineQuantity>
      <ns0:UOMCode>Ea</ns0:UOMCode>
      <ns0:ConfiguratorPath>300100017155319.300100017233297.300100017232813</ns0:ConfiguratorPath>
      <ns0:SummaryId>1</ns0:SummaryId>
      <ns0:InventoryItemNumber>zCZ-CM12240</ns0:InventoryItemNumber>
      <ns0:InventoryOrganizationCode>V1</ns0:InventoryOrganizationCode>
      <ns0:UnitQuantity xmlns:tns="http://xmlns.oracle.com/adf/svc/errors/"
                        unitCode="Ea">1</ns0:UnitQuantity>
     </ns0:ConfigLine>
    </ns0:ConfigSummaryResult>
   </ns1:result>
  </ns0:testModelResponse>
 </env:Body>
</env:Envelope>