SAP資格過去問ならSAPnavi

NoteやStripe決済で安全にSAP過去問を購入することができます。
領収書発行可能 / 即時入手可能

SAP過去問 (SAP Exam)

Example: Service Document

意味

ATOMサービスとして機能するRESTアプリケーションを使用する場合、独自のクラスはクラスCL_REST_RESOURCEから派生します。このクラスは、サービスドキュメントの読み取りを提供するメソッドIF_REST_RESOURCE〜GETを再定義します。次の例は、エントリのフィード用のサービスドキュメントを提供します。

            method if_rest_resource~get.  data:        ls_workspace type if_app_types=>workspace_s,        ls_collection type if_app_types=>collection_s,        ls_accept type if_app_types=>accept_s,        ls_service type if_app_types=>service_s,        lo_app_service_prov type ref to cl_app_service_prov.  ls_service-common_attributes-xml_base = |{ mo_request->get_header_field( if_http_header_fields_sap=>script_name ) }/atom/Cars/|.  ls_workspace-title-text = 'Cars Sample Service'.  ls_collection-title-text = 'List of Cars'.  ls_collection-href = 'Cars'.  ls_accept-text = if_rest_media_type=>gc_appl_atom_xml_entry.  append ls_accept to ls_collection-accepts.  append ls_collection to ls_workspace-collections.  append ls_workspace to ls_service-workspaces.  create object lo_app_service_prov.  lo_app_service_prov->set_service( ls_service ).  lo_app_service_prov->write_to( mo_response->create_entity( ) ).  " serialize service documentendmethod.         

  • サービス伝票情報は、構造IF_APP_TYPES=>SERVICE_Sに入力されます。このABAP構造のメンバーは、仕様に従って設計されていますhttp://www.ietf.org/rfc/rfc5023.txt

  • このメソッドによって作成されたサービスドキュメントの例には、次のコンポーネントが含まれています。

    • サービスのワークスペース(明細タイプIF_APP_TYPES =>WORKSPACE_SのABAPテーブルtypeIF_APP_TYPES=>WORKSPACE_T)。この設定は、ATOMフィードプロバイダーで利用可能なエンティティのコレクションを記述します。

    • サービスで利用可能なエンティティのコレクションを説明するワークスペース(ABAPテーブルタイプIF_APP_TYPES => COLLECTION_T、行タイプIF_APP_TYPES => COLLECTION_S)に属するコレクション。

    • コレクションのacceptコンポーネントは、コレクションに投稿できる表現のタイプを示します。この例では、サービスは、タイプCarsを参照してコレクションに投稿されるATOMエントリードキュメント(メディアタイプapplication / atom + xml; type = entry)を受け入れます。

  • タイプCL_APP_SERVICE_PROVのAPPサービスプロバイダが登録され、メソッドSET_SERVICEを使用してIF_APP_TYPES=>SERVICE_Sに保存されているサービス文書情報を設定します。

  • これはATOMエントリを提供するRESTアプリケーションプロバイダーであるため、サービスドキュメントのシリアル化はWRITE_TOを使用してメンバー変数MO_RESPONSEの新しい応答エンティティに行われます。つまり、HTTP本文はサービスドキュメントのXMLシリアル化コンテンツで設定されます。

上記のメソッド(ヘッダーContent-Type: application / atomsvc​​ + xmlを使用)によって提供されるシリアル化されたサービスドキュメントは、次のようになります。

            <?xml version="1.0" encoding="utf-8"?><app:service xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xml:base="/sap/bc/rest_cars/atom/Cars/">  <app:workspace>    <atom:title>Cars Sample Service</atom:title>    <app:collection href="Cars">      <atom:title>Cars</atom:title>      <app:accept>application/atom+xml;type=entry</app:accept>    </app:collection>  </app:workspace></app:service>         

タイトルとURLをコピーしました