プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebCenter Contentでの開発
12c (12.2.1.1)
E77334-02
目次へ移動
目次

前
前へ
次
次へ

32 WSDL、SOAPおよびWSDLジェネレータを使用したWebサービスの構成

この章では、WSDLおよびSOAPファイルを使用してOracle WebCenter Content Serverを管理することによって、これらのファイルを使用するクライアント・アプリケーションにOracle WebCenter Contentを統合する方法について説明します。また、コンテンツ・サーバーの機能にアクセスするための統合テクノロジを提供するWSDLジェネレータ・コンポーネントの使用方法についても説明します。

この章の内容は次のとおりです。

コンテンツ・サーバーで使用できるWebサービスの一般的な情報については、「Webサービスの概要」を参照してください。この章で説明されているWebサービスの使用方法は、Oracle Universal Content Management 10gで導入されました。WebCenter Content Webサービスを、セキュリティが構成され、Security Assertion Markup Language (SAML) (Oracle WebCenter Content 11gで導入されました)がサポートされている状態で使用する場合は、「統合のためのWebCenter Content Webサービスの構成」を参照してください。

Webサービスをいずれの方法で使用した場合でも、セキュリティのためにOracle Web Services Manager (Oracle WSM)を使用することができます。Oracle WSMの詳細は、「Webサービスの管理」を参照してください。

32.1 WSDL、SOAPおよびWSDLジェネレータを使用したWebサービスの構成について

Web Services Definition Language (WSDL)およびSOAP (Simple Object Access Protocol)ファイルを使用して、クライアント・アプリケーションからコンテンツ・サーバーを管理できます。SOAPは、Webサービス・リクエストおよびレスポンス・メッセージをネットワーク経由で送信する前にそれらの中の情報をエンコードするための、軽量のXMLベース・メッセージング・プロトコルです。

WSDLジェネレータ・コンポーネントWsdlGenerator(これは、コンテンツ・サーバーにデフォルトでインストールされ有効化されます)は、コンテンツ・サーバーのサービスのためのWSDLを生成します。WSDLを取得し、それをAPIにプラグインして、コンテンツ・サーバーで使用するためのWebサービスを作成できます。

一部のSOAP機能は、コアのコンテンツ・サーバーに組み込まれています。SOAPの使用にWSDLジェネレータ・コンポーネントが不可欠というわけではありません。管理者は、必要に応じて、SOAPでコンテンツ・サーバーへのサービス・コールを記述することができます。WSDLジェネレータを使用すると、既存のクライアント・アプリケーションを柔軟に変更できるようになります。

WebCenter Contentには、WebCenter Content IDCService (Internet Distributed Content Service)を公開するWSDL 1.1実装があり、WebCenter Content IDCServiceは、コンテンツ・サーバーのすべての機能を拡張します。IDCServiceを使用して、次のいずれのタスクも実行できます。

  • コンテンツをチェックインまたはチェックアウトする
  • ワークフローを作成、実行または承認する
  • コンテンツを公開できるようにする
  • コンテンツを、カテゴリ(メタデータ)、コンテンツ(全文)またはそれらの組合せによって検索する

WSDLファイルを使用してWebCenter ContentおよびSOAPにマップし、WebCenter Content内のコンテンツおよびコンテンツ管理機能にアクセスし、コンテンツ管理機能をWebサービスとしてデプロイすることができます。または、SOAPでコンテンツ・サーバーへのサービス・コールを記述することができます。

32.1.1 Webサービス・フレームワーク

Webサービスのコアとなる実現技術は、次のようなものです。

32.1.1.1 XMLデータ

eXtensible Markup Language (XML)は、すべてのWebサービス・テクノロジの基礎を提供する一まとまりの仕様です。XML構造および構文を基礎として使用することで、様々なプログラミング言語、ミドルウェアおよびデータベース管理システム間でデータを交換することが可能になります。

XML構文には、インスタンス・データ、型付け、構造、およびデータに関連するセマンティック情報が組み込まれます。XMLでは、データは独立して記述され、データをソフトウェア・システムまたはプログラミング言語にマップするための情報も提供されます。この柔軟性があるため、どのソフトウェア・プログラムでもWebサービスにマップできます。

Webサービスが起動されると、基礎となるXML構文により、交換されたデータのためのデータ・カプセル化および送信フォーマットが提供されます。XML要素および属性は、データの型と構造に関する情報を定義します。XMLは、データをモデリングする機能を提供し、プログラミング言語(Java、C#、Visual Basicなど)、データベース管理システムまたはソフトウェア・アプリケーションに固有の構造を定義します。Webサービスは、XML構文を使用して、データがどのように表現され、データがどのように送信され、サービスがどのように参照アプリケーションと対話するのかを指定します。

32.1.1.2 WSDLインタフェース

Web Services Description Language (WSDL)は、Webサービスに公開されるインタフェースを提供します。WSDLレイヤーにより、Webサービスを、基礎となるプログラムおよびソフトウェア・システムにマップできるようになります。WSDLファイルは、Webサービスへの接続方法とその使用方法が記述されたXMLファイルです。

32.1.1.3 SOAP通信

Simple Object Access Protocol (SOAP)は、Webサービス・インタフェースがネットワーク経由で相互に通信するためのコンテンツ・サーバー通信を提供します。SOAPは、Webサービスへのアクセスに使用されるXMLベースの通信プロトコルです。Webサービスは、XMLドキュメント内にカプセル化されたSOAPパケットを使用して、リクエストを受信し、レスポンスを返します。

32.1.1.4 UDDIレジストリ

Universal Description Discovery and Integration (UDDI)サービスは、Webサービス・インタフェースの格納と取得のためのレジストリおよびリポジトリ・サービスを提供します。UDDIは、Webサービスの登録および検索のためのパブリックまたはプライベートのXMLベース・ディレクトリです。

コンテンツ・サーバーは現在、いずれのパブリックまたはプライベートUDDIソースにも公開されません。ただし、このことにより、コンテンツ・サーバーを、Webサービスを使用する他のアプリケーションと統合できなくなるわけではありません。

32.1.1.5 DIMEメッセージのフォーマット

DIMEは、任意のタイプとサイズの、アプリケーションで定義された1つ以上のファイル・コンテンツ・グループを単一のメッセージ構成にカプセル化するために使用できる軽量のバイナリ・メッセージ・フォーマットです。コンテンツのアップロードまたはダウンロードで、このフォーマットを使用できます。ペイロードは、SOAPメッセージおよび1つ以上のファイル・コンテンツ・グループで構成されています。

32.1.1.6 実現技術を連携させる方法

XML、WSDL、SOAPおよびUDDIテクノロジは、Webサービス・プロトコル・スタック上のレイヤーとして連携して機能します。図32-1に示すように、Webサービス・プロトコル・スタックは、次のレイヤーで構成されています。

  • アプリケーション間のトランスポート・レイヤー(HTTP)

  • 一般的な通信方法を提供するメッセージング・レイヤー(XMLおよびSOAP)

  • 特定のWebサービスへのパブリック・インタフェースを記述するサービス記述レイヤー(WSDL)

  • Webサービス・インタフェースの格納と取得のためのレジストリおよびリポジトリ・サービスを提供するサービス検出レイヤー(UDDI)

図32-1 Webサービス・プロトコル・スタックのレイヤー

図32-1の説明が続きます
「図32-1 Webサービス・プロトコル・スタックのレイヤー」の説明

注意:

トランスポート・レイヤーでは、いくつかのプロトコル(HTTP、SMTP、FTP、BEEPなど)が使用できますが、HTTPプロトコルがもっとも一般的に使用されています。WSDLジェネレータ・コンポーネントは、トランスポート・レイヤーとしてHTTPプロトコルに依存します。

これらのテクノロジ間の接続を理解しやすくするため、単純な例えで考えてみましょう。つまり、HTTPを電話回線(アプリケーション間のトランスポート)として捉え、UDDIを電話帳(開発者はUDDIレジストリを参照して登録済のサービスを検索できます)として捉えます。この例えでは、SOAPは人々が電話で話す声(情報の交換)、XMLは人々が話す言語(データ交換の基礎となる構造)と見なすことができます。電話の例えで続けるなら、WSDLは、特定のWebサービスをコールするための電話番号になります(もちろん、WSDLには使用可能な機能やデータ型などの情報が含まれているため、WSDLは単なる電話番号以上のものです)。

32.1.1.7 実装のアーキテクチャ

Webサービスは、実行可能ファイルではありませんが、開発環境内でデータを交換します。そのため、Webサービスは、データを交換するプログラム間で通信を実行するアプリケーション・サーバーまたはソフトウェア・パッケージと情報を交換する手段となります。

図32-2は、コンテンツ・サーバー・アプリケーションのためのWebサービス実装アーキテクチャを示しています。このアーキテクチャのプライマリ値は、コンテンツ・サーバーの機能において保持されます。Webサービスは、WSDLジェネレータを通じてコンテンツ・サーバーにアクセスし、公開されたコンテンツ・サーバー・サービスを使用してアクションを実行し、ユーザーが使用するWebサービスとコンテンツ・サーバー間のデータ・トランザクションを提供します。

図32-2 Webサービスの実装アーキテクチャ

図32-2の説明が続きます
「図32-2 Webサービスの実装アーキテクチャ」の説明

32.1.1.8 .NET上の実装

Microsoft .NET製品(.NETプラットフォーム、.NET Framework、Visual Studio .NETなど)はすべて、XMLスキーマ、WSDLおよびSOAP仕様をサポートしています。

  • .NETプラットフォームは、開発者がXML Webサービスおよびアプリケーションを構築できるようにするプログラミング・モデルとして設計されています。このプラットフォームは、XML Webサービスおよびアプリケーションを統合、実行および管理する一連のサービスを提供します。

  • .NET Framework製品は、開発者がWebサービスおよびアプリケーションを構築してデプロイすることを可能にします。これは、Webサービスを統合するための構造化環境を提供し、一般的な言語ランタイムと統合クラス・ライブラリで構成されています。また、これには、ASP .NETサーバーが組み込まれています。

  • Visual Studio .NET製品は、開発者がXMLベースのWebサービス仕様に従ってアプリケーション・ソフトウェアを作成するためのツールを提供します。

.NETアーキテクチャを使用して、Webサービスの開発とデプロイは1つのステップとして統合されます。.NET言語で作成されたすべてのプログラムはWebサービスとして機能するように設計されているため、.NETサーバーは、プログラムをWebサービスとして作成およびデプロイすることが可能です。

32.1.1.9 SOAPプロトコル

SOAPは、次のパーツで構成されている、XMLベースのメッセージング・プロトコルです。

  • メッセージの内容とその処理方法を定義するエンベロープ

  • アプリケーション・データ型を定義する一連のエンコーディング・ルール

  • リモート・プロシージャ・コールおよびレスポンスを表すための規則

SOAP統合を使用すると、Java API (IdcCommand)を使用してコンテンツ・サーバー・サービスを実行するための標準化されたインタフェースが提供され、コンテンツ・サーバーによって管理されるXMLおよび非XMLコンテンツが提供されます。

SOAPは、データ送信にHypertext Transfer Protocol (HTTP)を使用するため、Web経由で起動でき、プラットフォームと言語に依存しない方法でネットワーク経由でコンテンツにアクセスできるようにします。

32.2 SOAPクライアントを使用したコンテンツ・サーバーへのアクセス

SOAPを使用してコンテンツ管理機能にWebサービスとしてアクセスすることで、アプリケーション間でリアルタイムにプログラムによる対話を行うことができ、ビジネス・プロセスの統合が可能になり、情報交換を容易に行えます。

注意:

SOAPクライアント実装を開発する場合は、クライアントAPIコードでチャンクを無効にしてください。

Webサービスは、XMLラッパーに含まれており、かつWSDL仕様で定義されているモジュラ・コンポーネントです。UDDI Webベース・レジストリ・システムは、それらのサービスの検索に使用されます。

ヒント:

.NETサーバーは、WSDLをサポートし、SOAP Toolkitと統合できますが、SOAPパケットがリモート・プロシージャ・コール(RPC)を送信するように指定する必要があります。デフォルトでは、SOAPメッセージは、RPCスタイルのSOAPメッセージとしてではなく、ドキュメント・スタイルのSOAPメッセージとして評価されます。SOAP Toolkitクライアントを.NETで開発されたWebサービスとともに使用すると、WSDLドキュメントの読取りエラーが返されます。SOAP Toolkitで、生成されたWSDLを読み取り、.NET Webサービスをコールできるようにするには、Webサービス・クラスでSoapRpcService()属性を指定する必要があります。

32.2.1 Java SOAPクライアントの使用

Java SOAPクライアントでは、表32-1に示されているコマンドライン・パラメータを使用できます。

表32-1 Java SOAPクライアントのコマンドライン・パラメータ

パラメータ 説明

-c config file

サーバー設定(ホストやポートなど)を含む構成ファイル

-x xml file

コンテンツ・サーバーに渡すSOAPリクエストを含むXMLファイル

-p primary file

アップロードするプライマリ・ファイルのファイル名

‐a alternate file

アップロードする代替ファイルのファイル名(オプション)

-l log file

リクエストおよびレスポンス・データを含むファイルのファイル名(オプション)

32.3 SOAPを使用したコンテンツ・サーバー・サービスのコール

SOAPインタフェースを使用して、様々なコンテンツ・サーバーのIdcCommandサービスを実行できます。ユーザーIDには、コマンドを実行するための適切な権限が必要です。管理者アクセスを必要とするコマンドもあれば、書込み権限のみを必要とするコマンドもあります。

WSDLジェネレータ・コンポーネントは、コンテンツ・サーバーにデフォルトでインストールされ有効化されます。サービスをコールするには、これを有効な状態にしておく必要があります。使用可能なサービスのリストと必須パラメータの詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』を参照してください。

32.3.1 SOAPパケットのフォーマット

SOAPリクエストは、HTTPトランスポート・プロトコルを使用して送信されるXMLベースのリモート・プロシージャ・コール(RPC)です。SOAPパケットのペイロードは、実行されるコールと渡されるパラメータを指定するXMLドキュメントです。

32.3.1.1 HTTPヘッダー

SOAPリクエストのHTTPヘッダーでは、次のエントリが必要です。

Content-Type: text/xml; charset="utf-8"

次のSOAPActionヘッダーが推奨されますが、必須ではありません。

SOAPAction: "http://www.oracle.com/IdcService"

32.3.1.2 ネームスペース

SOAPメッセージのボディ内では、ドキュメントの各部分の要素および属性名を修飾するためにXMLネームスペースが使用されます。要素名は、グローバルとする(SOAPメッセージ全体で参照されます)ことも、ローカルとすることもできます。ローカルの要素名は、ネームスペースによって提供され、その名前は、それが存在するメッセージの特定部分で使用されます。そのため、SOAPメッセージは、ネームスペースを使用して、メッセージの別の部分の要素名を修飾します。アプリケーション固有のネームスペースは、アプリケーション固有の要素名を修飾します。ネームスペースはまた、エンベロープのバージョンとエンコーディング・スタイルも識別します。

コンテンツ・サーバーは、SOAPコンテンツのスキーマと許容されるタグを説明する、idcと呼ばれるネームスペースを定義します。

32.3.1.3 ノード

SOAPノードは、SOAPバインディングを通じて基礎となるプロトコルによって提供されるサービスにアクセスするためのルールに従ってSOAPメッセージを処理するエンティティです。したがって、メッセージの処理には、基礎となるサービスへのマッピングが含まれます。SOAP仕様は、SOAPメッセージの部分と、メッセージの各部分を処理するソフトウェア・ハンドラ間の相関関係を定義します。

次のノードは、サービス・リクエストで必要になったり、レスポンスで返されたりする可能性があります。

32.3.1.3.1 serviceノード

IDCネームスペース内のメイン・ノードである<idc:service>ノードには、次の要件があります。

  • リクエストが処理されるためには、このノードが存在している必要があります。

  • 必須属性IdcServiceは、リクエストしているサービスを定義します。

  • <idc:service>のサブノードでは、そのタグ内にネームスペースが含まれている必要はありません。

    たとえば、<idc:document>ではなく、<document>を使用できます。ただし、子ノードでネームスペース識別子を定義する場合、serviceタグ内に指定されている識別子と一致させる必要があります。

次の例は、PING_SERVERサービス・リクエストが指定された<idc:service>ノードを示しています。

例32-1 IDCネームスペースにおけるserviceノード

<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="PING_SERVER">
</idc:service>
32.3.1.3.2 documentノード

<document>ノードには、すべてのコンテンツ・アイテム情報が含まれており、このノードは、すべてのデータ・ノードの親になります。

コンテンツ・アイテムに対して有効な属性は、特定のコンテンツ・サーバーによって定義されます。たとえば、dIDdDocTitleおよびdDocTypeは、共通属性です。<document>ノードには、次のルールが適用されます。

  • カスタムのコンテンツ・アイテム情報(xSpecなど)は、それがメタデータとして定義されている場合は有効です。

  • すべての既知のdocumentフィールドは、属性として使用できます。

次の例は、CHECKOUT_BY_NAMEサービスを使用する<document>ノードを示しています。

例32-2 IDC serviceノード内のdocumentノード

<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="CHECKOUT_BY_NAME">
<idc:document dDocName="soap_sample">
</idc:document>
</idc:service>
32.3.1.3.3 userノード

<user>ノードには、すべてのユーザー情報が含まれます。<user>ノードには、次のルールが適用されます。

  • ユーザーに対して有効な属性は、特定のコンテンツ・サーバーによって定義されます。たとえば、dNamedFullNameおよびdEmailは、共通属性です。

  • カスタムのユーザー情報は、それがメタデータとして定義されている場合は有効です。

  • すべての既知のuserフィールドは、属性として使用できます。

次の例は、GET_USER_INFOサービス・リクエストのユーザーを指定する<user>ノードを示しています。

例32-3 IDC serviceノード内のuserノード

<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_USER_INFO">
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
32.3.1.3.4 optionlistノード

<optionlist>ノードには、任意のオプション・リストが含まれます。name属性は、オプション・リストの名前を指定します。各<option>サブノードには、<optionlist>ノード内の値が含まれます。

次の例は、ロケール値を持つ<option>サブノードがある<optionlist>ノードを示しています。

例32-4 ロケールのoptionlistノード

<idc:optionlist name="Users_UserLocaleList">
<idc:option>
English-US
</idc:option>
</idc:optionlist>
32.3.1.3.5 IDC optionlistノード内のoptionサブノード

<option>サブノードは、<optionlist>ノード内に指定されます。option属性は、オプション・リストのオプションの名前を指定します。

次の例は、dDocType値が指定された<option>ノードを示しています。

例32-5 optionlistノードのoptionサブノード

<idc:optionlist name="dDocType">
<idc:option>ADACCT</idc:option>
<idc:option>ADHR</idc:option>
<idc:option>ADSALES</idc:option>
</idc:optionlist>
32.3.1.3.6 resultsetサブノード

<resultset>サブノードは、<document>または<user>ノード内に指定することができます。このサブノードには、リクエストまたはレスポンス内のResultSetの情報が含まれます。name属性はResultSetの名前を指定します。

次の例では、リビジョン履歴を含むResultSetの<resultset>サブノードを指定します。

例32-6 リビジョン履歴のresultsetサブノード

<idc:resultset name="REVISION_HISTORY">
<idc:row dFormat="text/plain" dInDate="4/12/02 1:27 PM" dOutDate="" dStatus="RELEASED" dProcessingState="Y" dRevLabel="1" dID="6" dDocName="stellent" dRevisionID="1">
</idc:row>
</idc:resultset>
32.3.1.3.7 rowサブノード

<row>サブノードは、<resultset>サブノード内で指定されます。<resultset>サブノードは、複数の<row>サブノードを持つことができます。各<row>サブノードは、ResultSet内の行を指定します。

有効な属性は、特定のコンテンツ・サーバーによって定義されます。有効な属性は、<document>または<user>ノード内の属性として表示できるものと同じフィールドです。

次の例では、user属性のResultSet内の行を指定します。

例32-7 resultsetサブノードのrowサブノード


<idc:resultset name="UserAttribInfo">
<idc:row dUserName="jsmith" AttributeInfo="role,contributor,15">
</idc:row>
</idc:resultset>
32.3.1.3.8 fieldサブノード

<field>サブノードは、<document><user>または<row>ノード内に指定することができます。name属性は、フィールドの名前を指定します。<field>サブノードは多くの場合、refreshSubjectsdSubscriptionIDなどのデータを表します。

<field>サブノードは、ユーザーが構成できるドキュメントまたはユーザー・メタデータを表すことができます。または、xCommentsなどのカスタム・メタデータを表すこともできます。次の例では、サブスクリプションIDデータを表すfieldサブノードを指定します。

Field Node to Represent Metadata
<idc:field name="dSubscriptionID">
stellent
</idc:field>

<field>サブノードの別の使用法としては、次の例に示されているように、QueryTextOriginalQueryTextなどのフィールドの検索結果値を渡すことがあります。

Field Subnode to Pass a Value
<idc:field name="QueryText">
dDocType <Substring> "ADSALES&"
</idc:field>

32.3.2 特殊文字

左山カッコ(<)や右山カッコ(>)などの特殊文字をWebCenter Contentに渡すときは、例32-2に示すXMLエンコーディング・フォーマットを使用する必要があります。

表32-2 特殊文字のフォーマット

標準フォーマット XMLエンコーディング・フォーマット

<

&lt;

>

&gt;

"

&quot;

` (汎用的な問合せ構文を使用している場合は、バック・クォーテーション・マークを使用してください)

&

&amp;

\

&#39;

注意:

QueryTextOriginalQueryTextなどの一部の検索結果値は、レスポンス内でURLエンコードされます。

(汎用的な問合せ構文を使用した)コンテンツ・アイテム問合せの場合は、いずれのフォーマットでもコンテンツ・サーバーに文字列を渡すことができます。次の例では、文字列は標準フォーマットで指定されています。

例32-8 標準フォーマットの文字列が指定されたパラメータ

QueryText=dDocType <Substring> "ADSALES"

次の例では、文字列はXMLエンコード・フォーマットで指定されています。

例32-9 XMLエンコードの文字列が指定されたパラメータ

<idc:field name="QueryText">
dDocType &lt;Substring&gt; `ADSALES`
</idc:field>

32.3.3 SOAPレスポンス/リクエストを使用したサンプルのサービス・コール

SOAPレスポンス/リクエストを使用したサービス・コールによって、SOAPリクエストでコンテンツ・サーバー・サービスを実行できます。使用可能なサービスのリストと必須パラメータの詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』を参照してください

次のIdcCommandサービスは、SOAPリクエストの例です。

IdcCommand 説明

PING_SERVER

このサービスは、サーバーへの接続が存在するかどうかを評価します。「サーバーのPing」を参照してください。

ADD_USER

このサービスは、システムに新しいユーザーを追加します。「新しいユーザーの追加」を参照してください。

EDIT_USER

このサービスは、既存のユーザーを編集します。「既存のユーザーの編集」を参照してください。

GET_USER_INFO

このサービスは、ユーザー・リストを取得します。「ユーザー情報の取得」を参照してください。

DELETE_USER

このサービスは、既存のユーザーを削除します。「ユーザーの削除」を参照してください。

CHECKIN_UNIVERSAL

このサービスは、コンテンツ・サーバーによって制御されるチェックインを実行します。「コンテンツ・アイテムのチェックイン」を参照してください。

CHECKOUT_BY_NAME

このサービスは、指定されたコンテンツ・アイテムの最新バージョンをロック済としてマークします。「コンテンツ・アイテムのチェックアウト」を参照してください。

UNDO_CHECKOUT_BY_NAME

このサービスは、コンテンツIDを使用してコンテンツ・アイテムのチェックアウトを元に戻します。「コンテンツ・アイテムのチェックアウトを元に戻す」を参照してください。

DOC_INFO

このサービスは、コンテンツ・アイテムのリビジョン情報を取得します。「コンテンツ・アイテム情報の取得」を参照してください。

GET_FILE

このサービスは、チェックアウトを実行せずに、サムネイル・イメージなどのコンテンツ・アイテムのコピーを取得します。「ファイルの取得」を参照してください。

GET_SEARCH_RESULTS

このサービスは、渡された問合せテキストに対する検索結果を取得します。「検索結果の取得」を参照してください。

GET_TABLE

このサービスは、WebCenter Contentデータベースから、指定された表をエクスポートします。「表のデータの取得」を参照してください。

GET_CRITERIA_WORKFLOWS_FOR_GROUP

このサービスは、基準ワークフローの情報を返します。「基準ワークフロー情報の取得」を参照してください。

32.3.3.1 サーバーのPing

PING_SERVERサービスは、サーバーへの接続が存在するかどうかを評価します。

  • このサービスは、コンテンツ・サーバーのステータス情報を返します。

  • このサービスを実行できない場合、「サーバーへの接続を確立できません。」というメッセージがユーザーに表示されます。

    ヒント:

    コンテンツ・サーバーへの接続が確立されており、コマンドの実行権限を持つユーザーとしてログインしていることを確認するために、他のサービスをコールする前にPING_SERVERリクエストを実行します。

32.3.3.1.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ 説明

IdcService

PING_SERVERに設定する必要があります。

32.3.3.1.2 SOAPリクエスト
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="PING_SERVER">
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope
32.3.3.1.3 レスポンス
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="PING_SERVER">
<idc:document>
<idc:field name="changedSubjects">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="StatusMessage">
You are logged in as &#39;sysadmin&#39;.
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.2 新しいユーザーの追加

ADD_USERサービスは、システムに新しいユーザーを追加します。

  • ユーザー名が指定されると、サービスは、そのユーザーがシステム内に存在するかどうかを判断します。存在しない場合、サービスは、そのユーザーを追加します。
  • 最も発生しがちなエラーは、ユーザー名が一意でないことです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。
32.3.3.2.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ 説明

dName

一意の名前。

dUserAuthType

ユーザーの認可タイプ。この値は、LOCALまたはGLOBALのいずれかに設定する必要があります。

IdcService

ADD_USERに設定する必要があります。

32.3.3.2.2 オプション・パラメータ

次のオプション・パラメータを指定できます。

パラメータ 説明

dEmail

ユーザーの電子メール・アドレス。

dFullName

ユーザーの完全名。

dPassword

ユーザーのパスワード。

32.3.3.2.3 オプションの属性情報

このオプション・データは、ユーザーの属性情報、ユーザーが属するロール、およびユーザーがアクセス権を持つアカウントを定義します。属性情報は、3つのカンマ区切りの文字列のリストで構成されます。最初の文字列は属性のタイプを、2番目の文字列は属性の名前を、3番目の文字列はアクセス番号を示します。

注意:

ユーザー属性情報は、事前定義されていません。デフォルトでは、ユーザーはどのロールまたはアカウントにも属しておらず、システムではゲストになります。

属性情報 説明

アクセス番号

アクセス番号は、そのユーザーに割り当てられるアクセスまたは権限のレベルを決定します。

属性名

属性名は、割り当てられるroleまたはaccountの名前です。たとえば、admincontributoreditorなどを割り当てることができます。

属性タイプ

属性タイプは、roleまたはaccountです。

アクセス番号

ユーザーに次のアクセス番号を割り当てることができます。

アクセス・レベルのフラグ 説明

1

読取り専用。

3

読取りと書込み。

7

読取り、書込みおよび削除。

15

管理権限。

属性名

ユーザーは、複数のロールおよびアカウントに属することができます。そのため、属性情報列に、カンマで区切られた複数のロールおよびアカウント情報文字列が存在する可能性があります。

  • ユーザーが管理ロールを持つようにする場合、ユーザー属性情報は次のとおり定義します。

    <idc:resultset name="UserAttribInfo">
    <idc:row dUserName="jsmith" AttributeInfo="role,contributor,15">
    
  • ユーザーがコントリビュータとエディタの両方のロールに属し、かつ会計帳簿の読取り権限を持つようにする場合、ユーザー属性情報は次のように定義します。

    <idc:resultset name="UserAttribInfo">
    <idc:row dUserName="jsmith" AttributeInfo="role,contributor,15,role,editor,15,account,books,1">

属性タイプ

ロールを定義するとき、最初の文字列ではこれがrole属性であることを指定し、2番目の文字列はロールの名前、3番目の文字列はデフォルト・エントリの15になります。

アカウントを定義するとき、最初の文字列ではこれがaccount属性であることを指定し、2番目の文字列はアカウントの名前、3番目の文字列はアクセス・レベルになります。

  • role属性の場合、情報は次のようなフォームになります。

    role,contributor,15
    
  • アクセス・レベルによって指定アカウントへのユーザーの権限が決定されるaccount属性の場合、情報は次のようなフォームになります。

    account,books,1
32.3.3.2.4 SOAPリクエスト
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="ADD_USER">
<idc:user dName="Jennifer" dFullName="Jennifer Anton" dPassword="password" dEmail="email@example.com" dUserAuthType="local">
<idc:resultset name="UserAttribInfo">
<idc:row dUserName="Jennifer" AttributeInfo="role,contributor,3">
</idc:row>
</idc:resultset>
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
32.3.3.2.5 レスポンス
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="ADD_USER">
<idc:document>
<idc:field name="refreshMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="isAdd">
1
</idc:field>
<idc:field name="copyAll">
1
</idc:field>
<idc:field name="alwaysSave">
1
</idc:field>
<idc:field name="dAttributeName">
contributor
</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="doAdminFields">
1
</idc:field>
<idc:field name="dAttributePrivilege">
3
</idc:field>
<idc:field name="dAttributeType">
role
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="changedSubjects">
userlist,1018884022874
</idc:field>
</idc:document>
<idc:user dUserAuthType="local" dEmail="email@example.com" dFullName="Jennifer Anton" dUser="sysadmin" dPassword="password" dName="Jennifer">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.3 既存のユーザーの編集

EDIT_USERサービスは、既存のユーザーの情報を編集します。

  • ユーザー名とユーザーの認可タイプが指定されると、サービスは、そのユーザーがシステム内に存在するかどうかを判断します。存在しない場合、サービスは失敗します。それ以外の場合、ユーザー情報は、更新され置き換えられます。

  • 最も発生しがちなエラーは、ユーザーがこのアクションを実行するためのセキュリティ・レベルを持っていないことです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。

    注意:

    ユーザー属性情報は、現在の属性を置き換えます。リストに追加されるわけではありません。そのため、ユーザー属性情報が定義されていない場合、ユーザーは、システムではゲストになります。

32.3.3.3.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ 説明

dName

一意の名前。

dUserAuthType

ユーザーの認可タイプ。この値は、LOCALまたはGLOBALのいずれかに設定する必要があります。

IdcService

EDIT_USERに設定する必要があります。

32.3.3.3.2 オプションのパラメータ

次のオプション・パラメータを指定できます。

パラメータ 説明

dEmail

ユーザーの電子メール・アドレス。

dFullName

ユーザーの完全名。

dPassword

ユーザーのパスワード。

dUserLocale

ロケールの指定(English-USEnglish-UKDeutschFrançaisEspañolなど)。

dUserType

定義済のユーザー・タイプ。

32.3.3.3.3 オプションの属性情報

ユーザーの属性情報を含み、ユーザーが属するロールおよびユーザーがアクセス権を持つアカウントを参照するResultSet。属性情報は、3つのカンマ区切りの文字列のリストで構成されます。最初の文字列は属性のタイプを、2番目の文字列は属性の名前を、3番目の文字列はアクセス番号を示します。

注意:

ユーザー属性情報は、事前定義されていません。デフォルトでは、ユーザーはどのロールまたはアカウントにも属しておらず、システムではゲストになります。

属性情報 説明

アクセス番号

アクセス番号は、そのユーザーに割り当てられるアクセスまたは権限のレベルを決定します。

属性名

属性名は、割り当てられるroleまたはaccountの名前です。たとえば、admincontributoreditorなどを割り当てることができます。

属性タイプ

属性タイプは、roleまたはaccountで構成されます。

アクセス番号

ユーザーに次のアクセス番号を割り当てることができます。

アクセス・レベルのフラグ 説明

1

読取り専用。

3

読取りと書込み。

7

読取り、書込みおよび削除。

15

管理権限。

ユーザーは、複数のロールおよびアカウントに属することができます。そのため、属性情報列に、カンマで区切られた複数のロールおよびアカウント情報文字列が存在する可能性があります。

  • ユーザーが管理ロールを持つようにする場合、ユーザー属性情報は次のとおり定義します。

    <idc:resultset name="UserAttribInfo">
    <idc:row dUserName="jsmith" AttributeInfo="role,contribut
    or,15">
    
  • ユーザーがコントリビュータとエディタの両方のロールに属し、かつ会計帳簿の読取り権限を持つようにする場合、ユーザー属性情報は次のように定義します。

    <idc:resultset name="UserAttribInfo">
    <idc:row dUserName="jsmith" AttributeInfo="role,contributor,15,role,editor,15,account,books,1">

属性タイプ

ロールの定義では、最初の文字列ではこれがrole属性であることを指定し、2番目の文字列はロールの名前、3番目の文字列はデフォルト・エントリの15になります。

アカウントの定義では、最初の文字列ではこれがaccount属性であることを指定し、2番目の文字列はアカウントの名前、3番目の文字列はアクセス・レベルになります。

  • role属性の場合、情報は次のようなフォームになります。

    role,contributor,15
    
  • アクセス・レベルによって指定アカウントへのユーザーの権限が決定されるaccount属性の場合、情報は次のようなフォームになります。

    account,books,1
32.3.3.3.4 SOAPリクエスト
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="EDIT_USER">
<idc:user dName="Jennifer" dFullName="Jennifer Anton" dPassword="password" dEmail="jennifer@example.com" dUserAuthType="local">
<idc:resultset name="UserAttribInfo">
<idc:row dUserName="Jennifer" AttributeInfo="role,guest,1">
</idc:row>
</idc:resultset>
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
32.3.3.3.5 レスポンス
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="EDIT_USER">
<idc:document>
<idc:field name="refreshMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="alwaysSave">
1
</idc:field>
<idc:field name="dAttributeName">
guest
</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="doAdminFields">
1
</idc:field>
<idc:field name="dAttributePrivilege">
1
</idc:field>
<idc:field name="dAttributeType">
role
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="changedSubjects">
userlist,1018884022877
</idc:field>
</idc:document>
<idc:user dUserAuthType="local" dEmail="jennifer@example.com" dFullName="Jennifer Anton" dUser="sysadmin" dPassword="password" dName="Jennifer">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.4 ユーザー情報の取得

GET_USER_INFOサービスは、ユーザー・リストを取得します。

  • 定義済のユーザーが指定されると、サービスは、ユーザー・リストを取得します。

  • このサービスを実行できない場合、「ユーザー・リストを取得できません。」というメッセージがユーザーに表示されます。

32.3.3.4.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ 説明

dUser

定義済のユーザー。

IdcService

GET_USER_INFOに設定する必要があります。

32.3.3.4.2 SOAPリクエスト
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_USER_INFO">
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
32.3.3.4.3 レスポンス
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_USER_INFO">
<idc:document>
<idc:field name="changedSubjects">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
<idc:optionlist name="Users_UserLocaleList">
<idc:option>
English-US
</idc:option>
</idc:optionlist>
</idc:document>
<idc:user dUser="sysadmin" dName="sysadmin">
<idc:resultset name="UserMetaDefinition">
<idc:row umdName="dFullName" umdType="BigText" umdCaption="apTitleFullName" umdIsOptionList="0" umdOptionListType="0" umdOptionListKey="" umdIsAdminEdit="0" umdOverrideBitFlag="1">
</idc:row>
<idc:row umdName="dEmail" umdType="BigText" umdCaption="apTitleEmailAddress" umdIsOptionList="0" umdOptionListType="" umdOptionListKey="" umdIsAdminEdit="0" umdOverrideBitFlag="2">
</idc:row>
<idc:row umdName="dUserType" umdType="Text" umdCaption="apTitleUserType" umdIsOptionList="1" umdOptionListType="combo" umdOptionListKey="Users_UserTypeList" umdIsAdminEdit="0" umdOverrideBitFlag="4">
</idc:row>
<idc:row umdName="dUserLocale" umdType="Text" umdCaption="apTitleUserLocale" umdIsOptionList="1" umdOptionListType="choice,locale" umdOptionListKey="Users_UserLocaleList" umdIsAdminEdit="0" umdOverrideBitFlag="8">
</idc:row>
</idc:resultset>
<idc:resultset name="USER_INFO">
<idc:row dName="sysadmin" dFullName="System Administrator" dEmail="" dPasswordEncoding="" dPassword="-----" dUserType="" dUserAuthType="LOCAL" dUserOrgPath="" dUserSourceOrgPath="" dUserSourceFlags="0" dUserArriveDate="" dUserChangeDate="" dUserLocale="" dUserTimeZone="">
</idc:row>
</idc:resultset>
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.5 ユーザーの削除

DELETE_USERサービスは、既存のユーザーを削除します。

  • ユーザー名が指定されると、サービスは、システムからそのユーザーを削除します。

  • 最も発生しがちなエラーは、ユーザーがエイリアスに割り当てられていることです。このサービスを実行できない場合、エラー・メッセージが返されます。

32.3.3.5.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ 説明

dName

一意の名前。

IdcService

DELETE_USERに設定する必要があります。

32.3.3.5.2 SOAPリクエスト
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="DELETE_USER">
<idc:user dName="Jennifer" >
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
32.3.3.5.3 レスポンス
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="DELETE_USER">
<idc:document>
<idc:field name="changedSubjects">
userlist,1018884022876
</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="dUserName">
Jennifer
</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
</idc:document>
<idc:user dUser="sysadmin" dName="Jennifer">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.6 コンテンツ・アイテムのチェックイン

CHECKIN_UNIVERSALサービスは、コンテンツ・サーバーへの制御されたチェックインを実行します。

  • このサービスは、コンテンツID (dDocName)をキーとして使用してデータベースに問合せを行うことにより、コンテンツ・アイテムが新規のものであるか、システムにすでに存在しているものであるかを判断します。
  • コンテンツ・アイテムがシステムに存在している場合、パブリッシュ状態(dPublishState)は空である必要があります。
  • リビジョン・ラベル(dRevLabel)が指定された場合、このサービスは、そのコンテンツ・リビジョンがシステムに存在しているかどうかをチェックします。そのリビジョンが存在する場合は、例外がスローされます。
  • このサービスは、次のサブサービスのいずれかにこのリクエストをディスパッチします。
    • CHECKIN_NEW_SUB: コンテンツ・アイテムがサーバーに存在しない場合。
    • CHECKIN_SEL_SUB: コンテンツ・アイテムがシステムに存在し、有効なリビジョンが指定されておらず、コンテンツ・アイテムがチェックアウトされている場合。
    • WORKFLOW_CHECKIN_SUB: コンテンツ・アイテムが存在し、ワークフローの一部である場合。
  • 最も発生しがちなエラーは、パラメータの不一致、またはコンテンツ・アイテムが正常にチェックインされなかったことです。このサービスを実行できない場合、「コンテンツ・アイテム''{dDocName}''を正常にチェックインできませんでした。」というメッセージがユーザーに表示されます。

CHECKIN_UNIVERSALサービスは、コンテンツ・サーバーへの制御されたチェックインです。チェックインは、新規、選択済またはワークフロー・チェックイン・プロセスのいずれかに分類され、ブラウザまたは「リポジトリ・マネージャ」アプリケーションを介したチェックインと同じロジックに従います。チェックイン対象のコンテンツ・アイテムがすでにシステムに存在している場合、チェックインを正常に行うためには、そのコンテンツ・アイテムをチェックアウトする必要があります。

これらは、本質的に、コンテンツ・サーバーへの制御されたチェックインで使用されるサブサービスと同じです。ただし、これらのサブサービスは、BatchLoadまたはアーカイブのインポート中にはコールされません。このサービスは、セキュリティをチェックして、ユーザーがコンテンツ・アイテムのチェックインを実行するための十分な権限を持っているかどうか、およびコンテンツ・アイテムが存在する場合は、それがチェックアウトされているかどうかを判断します。さらに、コンテンツ・アイテムがワークフローの基準に一致しているかどうか、またはアクティブな基本ワークフローに属しているかどうかも判断します。

コンテンツ・アイテムが見つからない場合、コンテンツ・アイテムは、CHECKIN_NEW_SUBサブサービスを使用してチェックインされます。このサブサービスは、チェックイン・データを検証し、このコンテンツ・アイテムが基準ワークフローに属しているかどうかを判断します。コンテンツ・アイテムがすでにシステムに存在しており、それがワークフローに属していない場合、CHECKIN_SEL_SUBが使用されます。それ以外の場合、つまり、コンテンツ・アイテムが存在しており、それがワークフローに属している場合は、WORKFLOW_CHECKIN_SUBが使用されます。

注意:

バックスラッシュ(\)はエスケープ文字であるため、すべてのパスで、ファイルの区切り文字としてスラッシュ(/)が使用されます。たとえば、primaryFile=d:/temp/myfile.txtは、チェックインするプライマリ・ファイルを指します。

32.3.3.6.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ 説明

dDocAuthor

コンテンツ・アイテムの作成者(コントリビュータ)。

dDocName

コンテンツ・アイテムの識別子(コンテンツID)。

  • システムの構成でIsAutoNumberTRUEに設定されている場合は、このフィールドはオプションです。このシナリオでは、dDocNameが指定されていない場合、チェックインは常に新規になり、システムはコンテンツ・アイテムの新しい名前を生成します。

  • それ以外の場合、つまりdDocNameが指定された場合は、サービスはこのキーを使用して検索を行い、どのタイプのチェックインを実行するかを判断します。

dDocTitle

コンテンツ・アイテムのタイトル。

dDocType

コンテンツ・アイテムのタイプ。

doFileCopy

このフラグはTRUE (1)に設定してください。そうしないと、ファイルがハード・ドライブから削除されます。

dSecurityGroup

PUBLICSECUREなどのセキュリティ・グループ。

IdcService

CHECKIN_UNIVERSALに設定する必要があります。

primaryFile

サーバーから見た、ファイルの場所への絶対パス。ファイルの区切り文字としてスラッシュを使用します。

プライマリ・ファイルは、メタデータのみをチェックインするのではないかぎり、指定する必要があります。プライマリ・ファイルとともに代替ファイルが指定された場合、Oracle WebCenter Content: Inbound Refineryは、代替ファイルを変換します。それ以外の場合、プライマリ・ファイルが変換されます。

  • プライマリ・ファイルが指定されない場合はメタデータ・ファイルを使用できます。ただし、各コンテンツ・アイテムに対して存在できるメタデータ・ファイルは1つだけです(つまり、プライマリのメタデータ・ファイルと代替のメタデータ・ファイルは共存できません)。

  • プライマリと代替の両方のファイルを指定する場合、それらの拡張子は異なっている必要があります。

注意:

定義するカスタムのメタデータ・フィールドも指定する必要があります。

32.3.3.6.2 追加のパラメータ

次のパラメータが必要な場合もあります。

パラメータ 説明
dDocAccount コンテンツ・アイテムのセキュリティ・アカウント。

アカウントを有効にした場合は、このパラメータを渡す必要があります。

32.3.3.6.3 オプションのパラメータ

次のオプション・パラメータを指定することができます。

パラメータ 説明

alternateFile

変換のための代替ファイル。

  • ただし、各コンテンツ・アイテムに対して存在できるメタファイルは1つだけです(プライマリのメタファイルと代替のメタファイルは共存できません)。

  • プライマリ・ファイルとともに代替ファイルが指定された場合、Inbound Refineryは、代替ファイルを変換します。それ以外の場合、プライマリ・ファイルが変換されます。

dCreateDate

コンテンツ・アイテムが作成された日付。デフォルトでは、これは現在の日付です。

dInDate

コンテンツのリリース日。コンテンツ・アイテムがWebにリリースされる日付。デフォルトでは、これは現在の日付です。

コンテンツのリリース日(dInDate)が指定されない場合、作成日(dCreateDate)が使用されます。この値が指定されない場合、自動的に生成されます。

dOutDate

コンテンツの有効期限。デフォルトでは、これはブランクであり、有効期限は指定されません。

コンテンツの有効期限(dOutDate)が入力されない場合、値は空のままになります。これは有効な状態です。

dRevLabel

コンテンツ・アイテムのリビジョン・ラベル。設定された場合、このラベルを使用して、指定されたリビジョンを検索します。

isFinished

これがワークフロー・チェックインであり、その編集が完了している場合は、TRUE (1)に設定します。

詳細は、WORKFLOW_CHECKINを参照してください。

注意:

コンテンツID (dDocName)と内部のコンテンツ・アイテム・リビジョン識別子(dID)を混同しないでください。dID値は、コンテンツ・アイテムの特定のレンディションへの、生成済の参照です。

32.3.3.6.4 SOAPリクエスト
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="CHECKIN_UNIVERSAL">
<idc:document dDocName="SoapUpload2" dDocAuthor="sysadmin" dDocTitle="Soap Upload 2 Document" dDocType="ADACCT" dSecurityGroup="Public" dDocAccount="">
<idc:file name="primaryFile" href="C:/stellent/custom/Soap/JavaSamples/SoapClientUpload/soaptest.doc">
</idc:file>
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
32.3.3.6.5 レスポンス
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="CHECKIN_UNIVERSAL">
<idc:document dDocAuthor="sysadmin" dDocName="SoapUpload2" dExtension="doc" dDocAccount="" dIsPrimary="1" dRevisionID="1" dPublishType="" dInDate="4/22/02 1:31PM" dReleaseState="N" dRevClassID="12" dCreateDate="4/22/02 1:31 PM" dIsWebFormat="0" dPublishState="" dLocation="" dStatus="DONE" dOriginalName="12.doc" dOutDate="" dDocID="24" dRevLabel="1" dProcessingState="Y" dDocTitle="Soap Upload 2 Document" dID="12" dDocType="ADACCT" dSecurityGroup="Public" dFileSize="19456" dFormat="application/msword">
<idc:field name="primaryFile:path">
c:/stellent/vault/~temp/1230750423.doc
</idc:field>
<idc:field name="dRawDocID">
23
</idc:field>
<idc:field name="changedSubjects">
documents,1019482656706
</idc:field>
<idc:field name="StatusCode">
0
</idc:field>
<idc:field name="soapFile:path">
c:/stellent/vault/~temp/1230750422.xml
</idc:field>
<idc:field name="xComments">

</idc:field>
<idc:field name="soapStartContentID">
SoapContent
</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="dActionDate">
4/22/02 1:31 PM
</idc:field>
<idc:field name="dActionMillis">
30263
</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="WebfilePath">
c:/stellent/weblayout/groups/public/documents/adacct/soapupload2~1.doc
</idc:field>
<idc:field name="StatusMessage">
Successfully checked in content item &#39;SoapUpload2&#39;.
</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="dConversion">
PASSTHRU
</idc:field>
<idc:field name="primaryFile">
C:/stellent/custom/Soap/JavaSamples/SoapClientUpload/soaptest.doc
</idc:field>
<idc:field name="dAction">
Checkin
</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
<idc:field name="VaultfilePath">
c:/stellent/vault/adacct/12.doc
</idc:field>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.7 コンテンツ・アイテムのチェックアウト

CHECKOUT_BY_NAMEは、指定されたコンテンツ・アイテムの最新リビジョンをチェックアウトします。

  • コンテンツ・アイテムのリビジョンIDが指定されると、このサービスは、コンテンツ・アイテムをシステムで検索し、チェックアウトを元に戻そうとします。
  • コンテンツ・アイテムがシステムに存在しない場合、コンテンツ・アイテムがチェックアウトされていない場合、またはチェックアウトを元に戻すのに十分な権限がユーザーにない場合、サービスは失敗します。
  • 最も発生しがちなエラーは、コンテンツ・アイテム名が存在しないことです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。

    注意:

    このサービスは、コンテンツ・アイテムをロック済としてマークするだけです。ダウンロードは実行しません。

32.3.3.7.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ 説明

dDocName

コンテンツ・アイテムの識別子(コンテンツID)。

IdcService

CHECKOUT_BY_NAMEに設定する必要があります。

注意:

コンテンツID (dDocName)と内部のコンテンツ・アイテム・リビジョン識別子(dID)を混同しないでください。dID値は、コンテンツ・アイテムの特定のレンディションへの、生成済の参照です。

32.3.3.7.2 オプションのパラメータ

次のオプション・パラメータを指定することができます。

パラメータ 説明

dDocTitle

コンテンツ・アイテムのタイトル。

32.3.3.7.3 SOAPリクエスト
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="CHECKOUT_BY_NAME">
<idc:document dDocName="soap_sample">
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
32.3.3.7.4 レスポンス
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="CHECKOUT_BY_NAME">
<idc:document dDocTitle="soap_sample" dID="10" dRevLabel="1" dDocAccount="" dRevClassID="10" dDocName="soap_sample" dOriginalName="soap_sample.txt" dSecurityGroup="Public">
<idc:field name="dActionMillis">
39964
</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
<idc:field name="dActionDate">
4/22/02 12:20 PM
</idc:field>
<idc:field name="latestID">
10
</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="CurRevID">
10
</idc:field>
<idc:field name="CurRevIsCheckedOut">
0
</idc:field>
<idc:field name="dAction">
Check out
</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="CurRevCheckoutUser">
sysadmin
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="changedSubjects">
documents,1019482656687
</idc:field>
<idc:resultset name="DOC_INFO">
<idc:row dID="10" dDocName="soap_sample" dDocType="ADACCT" dDocTitle="soap_sample" dDocAuthor="sysadmin" dRevClassID="10" dRevisionID="1" dRevLabel="1" dIsCheckedOut="1" dCheckoutUser="sysadmin" dSecurityGroup="Public" dCreateDate="4/22/02 12:18 PM" dInDate="4/22/02 12:18 PM" dOutDate="" dStatus="RELEASED" dReleaseState="Y" dFlag1="" dWebExtension="txt" dProcessingState="Y" dMessage="" dDocAccount="" dReleaseDate="4/22/02 12:19 PM" dRendition1="" dRendition2="" dIndexerState="" dPublishType="" dPublishState="" dDocID="19" dIsPrimary="1" dIsWebFormat="0" dLocation="" dOriginalName="soap_sample.txt" dFormat="text/plain" dExtension="txt" dFileSize="12">
<idc:field name="xComments">

</idc:field>
</idc:row>
</idc:resultset>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.8 コンテンツ・アイテムのチェックアウトを元に戻す

UNDO_CHECKOUT_BY_NAMEサービスは、コンテンツIDを使用してコンテンツ・アイテムのチェックアウトを元に戻します。

  • コンテンツ・アイテムの名前が指定されると、このサービスは、コンテンツ・アイテムをシステムで検索し、チェックアウトを元に戻そうとします。

  • コンテンツ・アイテムがシステムに存在しない場合、コンテンツ・アイテムがチェックアウトされていない場合、またはチェックアウトを元に戻すのに十分な権限がユーザーにない場合、サービスは失敗します。

  • このサービスは、アプレットまたはアプリケーションによって使用されます。

  • このサービスを実行できない場合、「{dDocName}に対するチェックアウトを元に戻せません。」というメッセージがユーザーに表示されます。

32.3.3.8.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ 説明

dDocName

コンテンツ・アイテムの識別子(コンテンツID)。

IdcService

UNDO_CHECKOUT_BY_NAMEに設定する必要があります。

注意:

コンテンツID (dDocName)と内部のコンテンツ・アイテム・リビジョン識別子(dID)を混同しないでください。dID値は、コンテンツ・アイテムの特定のレンディションへの、生成済の参照です。

32.3.3.8.2 オプションのパラメータ

次のオプション・パラメータを指定することができます。

パラメータ 説明

dDocTitle

コンテンツ・アイテムのタイトル。

32.3.3.8.3 SOAPリクエスト
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="UNDO_CHECKOUT_BY_NAME">
<idc:document dDocName="soap_sample">
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
32.3.3.8.4 レスポンス
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="UNDO_CHECKOUT_BY_NAME">
<idc:document dCheckoutUser="sysadmin" dPublishState="" dDocTitle="soap_sample" dID="10" dRevLabel="1" dDocAccount="" dDocName="soap_sample" dRevClassID="10" dOriginalName="soap_sample.txt" dSecurityGroup="Public">
<idc:field name="dActionMillis">
5317
</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
<idc:field name="dActionDate">
4/22/02 12:23 PM
</idc:field>
<idc:field name="latestID">
10
</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="CurRevID">
10
</idc:field>
<idc:field name="CurRevIsCheckedOut">
1
</idc:field>
<idc:field name="dAction">
Undo Checkout
</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="CurRevCheckoutUser">
sysadmin
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="changedSubjects">
documents,1019482656689
</idc:field>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.9 コンテンツ・アイテム情報の取得

DOC_INFOサービスは、コンテンツ・アイテムのリビジョン情報を取得します。

  • コンテンツ・アイテムのリビジョンIDが指定されると、このサービスは、コンテンツ・アイテムのリビジョン情報を取得します。

  • 最も発生しがちなエラーは、そのコンテンツ・アイテムがすでにシステムに存在していないか、ユーザーがこのアクションを実行するためのセキュリティ・レベルを持っていないことです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。

32.3.3.9.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ 説明

dID

生成済のコンテンツ・アイテムのリビジョンID。

IdcService

DOC_INFOに設定する必要があります。

32.3.3.9.2 SOAPリクエスト
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="DOC_INFO">
<idc:document dID="6">
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
32.3.3.9.3 レスポンス
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="DOC_INFO">
<idc:document dStatus="RELEASED" dDocFormats="text/plain" dID="6" DocUrl="HTTP://wharristest/stellent/groups/public/documents/adacct/stellent.txt" dDocTitle="stellent">
<idc:field name="dSubscriptionAlias">
sysadmin
</idc:field>
<idc:field name="changedSubjects">

</idc:field>
<idc:field name="dSubscriptionID">
stellent
</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
<idc:field name="dSubscriptionType">
Basic
</idc:field>
<idc:resultset name="REVISION_HISTORY">
<idc:row dFormat="text/plain" dInDate="4/12/02 1:27 PM" dOutDate="" dStatus="RELEASED" dProcessingState="Y" dRevLabel="1" dID="6" dDocName="stellent" dRevisionID="1">
</idc:row>
</idc:resultset>
<idc:resultset name="WF_INFO">
</idc:resultset>
<idc:resultset name="DOC_INFO">
<idc:row dID="6" dDocName="stellent" dDocType="ADACCT" dDocTitle="stellent" dDocAuthor="sysadmin" dRevClassID="6" dRevisionID="1" dRevLabel="1" dIsCheckedOut="0" dCheckoutUser="" dSecurityGroup="Public" dCreateDate="4/12/02 1:27 PM" dInDate="4/12/02 1:27 PM" dOutDate="" dStatus="RELEASED" dReleaseState="Y" dFlag1="" dWebExtension="txt" dProcessingState="Y" dMessage="" dDocAccount="" dReleaseDate="4/12/02 1:27 PM" dRendition1="" dRendition2="" dIndexerState="" dPublishType="" dPublishState="" dDocID="11" dIsPrimary="1" dIsWebFormat="0" dLocation="" dOriginalName="stellent.txt" dFormat="text/plain" dExtension="txt" dFileSize="8">
<idc:field name="xComments">
stellent
</idc:field>
</idc:row>
</idc:resultset>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.10 ファイルの取得

GET_FILEサービスは、コンテンツ・アイテムの特定のレンディション、最新のリビジョンまたは最新リリースのリビジョンを返します。チェックアウトを実行せずにコンテンツ・アイテムのコピーを取得します。

  • このコマンドは、リビジョンのdID (コンテンツ・アイテムのリビジョンID)を計算し、計算されたdIDを持つリビジョンの特定のレンディションのファイル名を特定します。指定されたdID、またはdDocName (コンテンツ・アイテム名)とRevisionSelectionMethodパラメータを使用できます。

  • dID、またはdDocNameRevisionSelectionMethodパラメータが指定されると、このサービスは、そのリビジョンの特定のレンディションのファイル名を特定し、そのファイルをクライアントに返します。

  • 最も発生しがちなエラーは、パラメータになんらかの不整合があるか、存在しないリビジョンまたはレンディションに対するリクエストであることです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。

    注意:

    リクエスタがdDocName値を認識しているコンテンツ・アイテムに対するすべてのリクエストで、dDocNameを使用してください。コンテンツ・サーバーのエラー・メッセージは、フォームなど、他の機能と同様に、dDocName値が存在しているという想定に基づいています。

32.3.3.10.1 必須パラメータ

次のパラメータを指定する必要があります。

注意:

コンテンツ・アイテムのリビジョンID (dID)が指定されているか、コンテンツ・アイテム名(dDocName)とRevisionSelectionMethodパラメータが定義されている必要があります。

パラメータ 説明

dDocName

コンテンツ・アイテムの識別子(コンテンツID)。

  • dDocNameが存在しない場合は、dIDが存在しなければならず、RevisionSelectionMethodが存在してはなりません。

  • RevisionSelectionMethodが指定された場合、その名前を持つコンテンツ・アイテムのリビジョンのレンディションが返されます(存在する場合)。

  • RevisionSelectionMethodが指定されない場合、エラー・メッセージにdDocNameが示される可能性があります。

dID

生成済のコンテンツ・アイテムのリビジョンID。

  • dIDが指定されない場合、dDocNameおよびRevisionSelectionMethodを指定する必要があります。

  • このIDを持つコンテンツ・アイテムのリビジョンのレンディションが存在し、かつRevisionSelectionMethodパラメータが存在しないか、その値がSpecificである場合は、そのレンディションが返されます。

RevisionSelectionMethod

リビジョン選択メソッド。

これが指定された場合は、dDocNameも指定する必要があります。この変数の値は、指定されたdDocNameからdIDを計算するために使用されるメソッドです。このパラメータで設定可能な値は、SpecificLatestまたはLatestReleasedです。

  • 値がSpecificである場合、dDocNameは無視され、dIDが要求され、これを使用してレンディションが取得されます。

  • 値がLatestである場合、コンテンツ・アイテムの最新リビジョンを使用してdIDが計算されます。

  • 値がLatestReleasedである場合、コンテンツ・アイテムの最新リリースのリビジョンを使用してdIDが計算されます。

IdcService

GET_FILEに設定する必要があります。

32.3.3.10.2 オプションのパラメータ

次のオプション・パラメータを指定できます。

パラメータ 説明

Rendition

コンテンツ・アイテムのレンディション。このパラメータは、コンテンツ・アイテムのレンディションを指定するもので、PrimaryWebまたはAlternateに設定できます。Renditionが指定されない場合、デフォルトでPrimaryが設定されます。

  • 値がPrimaryである場合、選択されたリビジョンのプライマリ・レンディションが返されます。

  • 値がWebである場合、選択されたリビジョンのWeb表示可能レンディションが返されます。

  • 値がAlternateである場合、選択されたリビジョンの代替レンディションが返されます。

たとえば、Rendition=rendition:Tを使用してサムネイル・イメージを取得できます。

注意:

コンテンツID (dDocName)と内部のコンテンツ・アイテム・リビジョン識別子(dID)を混同しないでください。dID値は、コンテンツ・アイテムの特定のレンディションへの、生成済の参照です。

32.3.3.10.3 SOAPリクエスト
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_FILE">
<idc:document dID="10">
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
32.3.3.10.4 レスポンス
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_FILE">
<idc:document dID="10">
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Receving response...
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Connection: keep-alive
Date: Mon, 29 Apr 2002 16:09:42 GMT
Content-type: Multipart/Related; boundary=-----------------4002588859573015789;
type=text/xml; start="<SoapContent>"
Content-Length: 1717

-------------------4002588859573015789
Content-Type: text/xml; charset=utf-8
Content-ID:  <SoapContent>

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_FILE">
<idc:document dID="10" dExtension="txt">
<idc:field name="changedSubjects">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
<idc:resultset name="FILE_DOC_INFO">
<idc:row dID="10" dDocName="soap_sample" dDocType="ADACCT" dDocTitle="soap_sample" dDocAuthor="sysadmin" dRevClassID="10" dRevisionID="1" dRevLabel="1" dIsCheckedOut="0" dCheckoutUser="" dSecurityGroup="Public" dCreateDate="4/22/02 12:18PM" dInDate="4/22/02 12:18 PM" dOutDate="" dStatus="RELEASED" dReleaseState="Y" dFlag1="" dWebExtension="txt" dProcessingState="Y" dMessage="" dDocAccount="" dReleaseDate="4/22/02 12:19 PM" dRendition1="" dRendition2="" dIndexerState="" dPublishType="" dPublishState="" dDocID="19" dIsPrimary="1" dIsWebFormat="0" dLocation="" dOriginalName="soap_sample.txt" dFormat="text/plain" dExtension="txt" dFileSize="12">
<idc:field name="xComments">

</idc:field>
</idc:row>
</idc:resultset>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

-------------------4002588859573015789
Content-Type: text/html
Content-ID: <soap_sample.txt>

...File content...
-------------------4002588859573015789--

32.3.3.11 検索結果の取得

GET_SEARCH_RESULTSサービスは、渡された問合せテキストに対する検索結果を取得します。

  • コンテンツ・アイテムの問合せを行ったユーザーに検索結果を表示するために使用されます。

  • QueryTextパラメータにTitleContent IDなどの値を添付して、このサービスで返される結果を絞り込むことができます。

    QueryTextパラメータは、問合せを定義します。SOAPメッセージで使用するためには、この問合せはXMLエンコードである必要があります。次の例では、コンテンツ・アイテムの問合せのために送信される文字列を標準フォーマットで渡す場合と、XMLエンコード・フォーマットで渡す場合の両方を示します。

    • 標準フォーマットの文字列が指定されたパラメータは次のとおりです。

      QueryText=dDocType <Substring> "ADSALES"
      
    • XMLエンコードの文字列が指定されたパラメータは次のとおりです。

      <idc:field name="QueryText">
      dDocType &lt;Substring&gt; `ADSALES`
      </idc:field>
      

      XMLエンコードの文字列のフォーマットの詳細は、「特殊文字」を参照してください。

  • このサービスを実行できない場合、「検索結果を取得できません」というメッセージが表示されます。

32.3.3.11.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ 説明

IdcService

GET_SEARCH_RESULTSに設定する必要があります。

QueryText

コンテンツ・アイテムの問合せのために送信される、ユーザーが指定したテキスト。

32.3.3.11.2 オプションのパラメータ

次のオプション・パラメータを指定できます。

パラメータ 説明

resultCount

返される結果の数。デフォルトは25です。

sortField

ソートの基準となるメタデータ・フィールドの名前。

  • 例: dInDatedDocTitleScore

  • デフォルトはdInDateです。

sortOrder

ソート順序。使用できる値は、ASC (昇順)およびDES (降順)です。

startRow

次の検索結果として取得される最初の行。たとえば、結果として200行が返され、resultCount25である場合、2番目の結果セットを取得するには、startRow26に設定します。

32.3.3.11.3 SOAPリクエスト
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_SEARCH_RESULTS">
<idc:document>
<idc:field name="QueryText">
dDocType <Substring> "ADSALES"
</idc:field>
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
32.3.3.11.4 レスポンス
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_SEARCH_RESULTS">
<idc:document StartRow="1" TotalDocsProcessed="6" TotalRows="0" QueryText="dDocType+%3cSubstring%3e+%22ADSALES%22" EndRow="25" SearchProviders="Master_on_wharristest" NumPages="0" PageNumber="1">
<idc:field name="refreshMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="EnterpriseSearchMaxRows">
4
</idc:field>
<idc:field name="FullRequest">
&QueryText=dDocType+%3cSubstring%3e+%22ADSALES%22
</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="changedSubjects">

</idc:field>
<idc:field name="Text2">
&lt;$dDocTitle$&gt; 
</idc:field>
<idc:field name="Text1">
<$dDocName$> 
</idc:field>
<idc:field name="OriginalQueryText">
dDocType+%3cSubstring%3e+%22ADSALES%22
</idc:field>
<idc:resultset name="SearchResults">
</idc:resultset>
<idc:resultset name="NavigationPages">
</idc:resultset>
<idc:resultset name="Master_on_wharristest">
</idc:resultset>
<idc:resultset name="EnterpriseSearchResults">
<idc:row ProviderName="Master_on_wharristest" IDC_Name="Master_on_wharristest" TotalRows="0" TotalDocsProcessed="6">
<idc:field name="ProviderDescription">
!csProviderLocalContentServerLabel
</idc:field>
<idc:field name="InstanceMenuLabel">
Master_on_wharristest
</idc:field>
<idc:field name="InstanceDescription">
Master_on_wharristest
</idc:field>
<idc:field name="IntradocServerHostName">
wharristest
</idc:field>
<idc:field name="HttpRelativeWebRoot">
/stellent/
</idc:field>
<idc:field name="IsImplicitlySearched">

</idc:field>
<idc:field name="UserAccounts">
#all
</idc:field>
<idc:field name="IsLocalCollection">
true
</idc:field>
<idc:field name="Selected">

</idc:field>
<idc:field name="StatusMessage">
Success
</idc:field>
<idc:field name="ResultSetName">
Master_on_wharristest
</idc:field>
<idc:field name="SearchCgiWebUrl">
/idcplg/idc_cgi_isapi.dll/stellent/pxs
</idc:field>
</idc:row>
</idc:resultset>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.12 表のデータの取得

GET_TABLEサービスは、WebCenter Contentデータベースから、指定された表をエクスポートします。

  • ResultSetを作成し、シリアル化されたHDAファイルにそれを追加することにより、指定された表をエクスポートします。表が見つからない場合、サービスは失敗します。シリアル化されたHDAファイルを受信して、後で使用するためにこのResultSetを格納するのは、コール元プログラムです。

  • 最も発生しがちなエラーは、表名が存在しないことです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。

32.3.3.12.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ 説明

IdcService

GET_TABLEに設定する必要があります。

tableName

エクスポートする表の名前。

32.3.3.12.2 SOAPリクエスト
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_TABLE">
<idc:document>
<idc:field name="tableName">
DocTypes
</idc:field>
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
32.3.3.12.3 レスポンス
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_TABLE">
<idc:document>
<idc:field name="tableName">
DocTypes
</idc:field>
<idc:field name="changedSubjects">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
<idc:resultset name="DocTypes">
<idc:row dDocType="ADACCT" dDescription="Acme Accounting Department" dGif="adacct.gif">
</idc:row>
<idc:row dDocType="ADCORP" dDescription="Acme Corporate Department" dGif="adcorp.gif">
</idc:row>
<idc:row dDocType="ADENG" dDescription="Acme Engineering Department" dGif="adeng.gif">
</idc:row>
<idc:row dDocType="ADHR" dDescription="Acme Human Resources Department" dGif="adhr.gif">
</idc:row>
<idc:row dDocType="ADMFG" dDescription="Acme Manufacturing Department" dGif="admfg.gif">
</idc:row>
<idc:row dDocType="ADMKT" dDescription="Acme Marketing Department" dGif="admkt.gif">
</idc:row>
<idc:row dDocType="ADSALES" dDescription="Acme Sales Department" dGif="adsales.gif">
</idc:row>
</idc:resultset>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.13 基準ワークフロー情報の取得

GET_CRITERIA_WORKFLOWS_FOR_GROUPサービスは、基準ワークフロー情報を返します。

  • セキュリティ・グループが指定されると、このサービスは、ワークフローおよび関連ステップのリストを返します。

  • ResultSetsのWorkflowsForGroupおよびWorkflowStepsForGroupを返します。

    • WorkflowsForGroupでは、このグループに対するすべてのワークフローがリストされます(dWfIDdWfName)。

    • WorkflowStepsForGroupでは、このグループに対するすべてのワークフローのすべてのステップがリストされます(dWfIDdWfNamedWfStepIDdWfStepName)。

  • 「ワークフロー管理」管理アプレットの「条件」タブから、基準ワークフローおよびサブワークフローを追加、編集、有効化、無効化および削除できます。

  • 最も発生しがちなエラーは、指定のセキュリティ・グループが存在しないか、ユーザーがセキュリティ・チェックに失敗することです。そのような状況では、サービスは、ユーザーに表示するための適切な例外をスローします

32.3.3.13.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ 説明

dSecurityGroup

PUBLICSECUREなどのセキュリティ・グループ。

IdcService

GET_CRITERIA_WORKFLOWS_FOR_GROUPに設定する必要があります。

32.3.3.13.2 SOAPリクエスト
<?xml version="1.0" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_CRITERIA_WORKFLOWS_FOR_GROUP">
<idc:document dSecurityGroup="Public" />
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
32.3.3.13.3 レスポンス
<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_CRITERIA_WORKFLOWS_FOR_GROUP">
<idc:document dSecurityGroup="Public">
<idc:field name="changedSubjects">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
<idc:resultset name="WorkflowStepsForGroup">
<idc:row>
<idc:field name="dWfID">
1
</idc:field>
<idc:field name="dWfName">
TestWorkflow
</idc:field>
<idc:field name="dWfStepID">
1
</idc:field>
<idc:field name="dWfStepName">
contribution
</idc:field>
</idc:row>
<idc:row>
<idc:field name="dWfID">
1
</idc:field>
<idc:field name="dWfName">
TestWorkflow
</idc:field>
<idc:field name="dWfStepID">
2
</idc:field>
<idc:field name="dWfStepName">
StepOne
</idc:field>
</idc:row>
</idc:resultset>
<idc:resultset name="WorkflowsForGroup">
<idc:row>
<idc:field name="dWfID">
1
</idc:field>
<idc:field name="dWfName">
TestWorkflow
</idc:field>
</idc:row>
</idc:resultset>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.4 Active Server PageにおけるSOAPパケットの使用

実行するサービスと必須パラメータを定義するSOAPパケットをカプセル化することで、Active Server Pageからコンテンツ・サーバーのIdcCommandサービスを実行できます。コマンドを実行するための適切な権限が必要です。管理者アクセスを必要とするコマンドもあれば、書込み権限のみを必要とするコマンドもあります。

32.4.1 サンプルのSOAPリクエスト

Active Server Pageは、コンテンツ・サーバーからサービスをコールできます。サンプル・サービスの次の説明には、必須パラメータとオプション・パラメータが含まれています。また、埋込みSOAPリクエストのXMLフォーマット・バージョンも提供されます。

必須パラメータとオプション・パラメータを含め、サービス・コールの詳細は、「SOAPレスポンス/リクエストを使用したサンプルのサービス・コール」を参照してください。

次の例では、XMLフォーマットSOAPリクエストは、GET_SEARCH_RESULTSサービスを使用して、渡された問合せテキストに対する検索結果を取得します。

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_SEARCH_RESULTS">
<idc:document>
<idc:field name="QueryText">
dDocType <Substring> "ADSALES"
</idc:field>
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.4.2 サンプルのActive Server Page

埋込みSOAPリクエストは、Active Server Pageの基礎を形成します。次のサンプルは、GET_SEARCH_RESULTSを実行します。

サービス・コールの詳細およびSOAPレスポンスとリクエスト・メッセージの例は、「SOAPレスポンス/リクエストを使用したサンプルのサービス・コール」を参照してください。

<%

‘ Sample ASP page of sending a DOC_INFO Soap request.

Option Explicit

Response.Write("Search Results")

%>
<br><br>
<%

‘ Construct the Soap request.
Dim strSoapRequest, strQueryText

strQueryText = Request.Form("QueryText")
strQueryText = Server.HtmlEncode(strQueryText)

strSoapRequest = "<?xml version='1.0' ?>" _
& "<SOAP-ENV:Envelope xmlns:SOAP-ENV=""http://schemas.xmlsoap.org/soap/envelope/"">" _
& "<SOAP-ENV:Body>" _
& "<idc:service xmlns:idc=""http://www.oracle.com/IdcService/"" IdcService=""GET_SEARCH_RESULTS"">" _
& "<idc:document>" _
& "<idc:field name=""QueryText"">" & strQueryText & "</idc:field>" _
& "<idc:field name=""SortField"">" & Request.Form("SortField") & "</idc:field>" _
& "<idc:field name=""SortOrder"">" & Request.Form("SortOrder") & "</idc:field>" _
& "<idc:field name=""ResultCount"">" & Request.Form("ResultCount") & "</idc:field>" _
& "<idc:field name=""Auth"">Internet</idc:field>" _
& "</idc:document>" _
& "</idc:service>" _
& "</SOAP-ENV:Body>" _
& "</SOAP-ENV:Envelope>"

‘ Send the Soap request.
Dim objXmlHttp
Set objXmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
objXmlHttp.open "POST", "http://localhost/stellent/idcplg", False, "sysadmin", "idc"
objXmlHttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
objXmlHttp.send(strSoapRequest)

‘ Parse the Soap response.
Dim objXmlDoc
Set objXmlDoc = Server.CreateObject("Msxml2.DOMDocument")
objXmlDoc.async = False
objXmlDoc.Load objXmlHttp.responseXml

‘ Check for errors.
Dim strResponseError
strResponseError = objXmlDoc.parseError.reason
If strResponseError <> "" Then
Response.Write(objXmlHttp.ResponseText)
DisplayBackButton()
Response.End
End If

‘ Check for a fault string.
Dim objXmlFaultNode
Set objXmlFaultNode = objXmlDoc.documentElement.selectSingleNode("//SOAP-ENV:Fault/faultstring")
If (Not (objXmlFaultNode Is Nothing)) Then
Response.Write(objXmlFaultNode.Text)
DisplayBackButton()
Response.End
End If

‘ Check the status code.
Dim objXmlStatusCodeNode, objXmlStatusMessageNode, strStatusCode, nStatusCode, strStatusMessage
Set objXmlStatusCodeNode = objXmlDoc.documentElement.selectSingleNode("//idc:field[@name='StatusCode']")
If (Not objXmlStatusCodeNode Is Nothing) Then
nStatusCode = CInt(objXmlStatusCodeNode.Text)
If (nStatusCode < 0) Then
Response.Write(objXmlDoc.documentElement.selectSingleNode("//idc:field[@name='StatusMessage']").Text)
DisplayBackButton()
Response.End
End If
End If

‘ Display search results
Dim strDocName, strDocTitle, strDocType, strInDate, strComments, nCurRow, nTotalRows
Dim objXmlResultNodeList, objXmlCommentNode

Set objXmlResultNodeList = objXmlDoc.documentElement.selectNodes("//idc:resultset[@name='SearchResults']/idc:row")
nTotalRows = objXmlResultNodeList.Length

%>
<table>
<tr>
<td><b>Content ID</b></td>
<td>&nbsp;</td>
<td><b>Title</b></td>
<td>&nbsp;</td>
<td><b>Type</b></td>
<td>&nbsp;</td>
<td><b>Release Date</b></td>
<td>&nbsp;</td>
<td><b>Comments</b></td>
</tr>

<%
For nCurRow = 0 To (nTotalRows - 1)
strDocName = GetXmlNodeValue(objXmlResultNodeList.Item(nCurRow), "dDocName")
strDocTitle = GetXmlNodeValue(objXmlResultNodeList.Item(nCurRow), "dDocTitle")
strDocType = GetXmlNodeValue(objXmlResultNodeList.Item(nCurRow), "dDocType")
strInDate = GetXmlNodeValue(objXmlResultNodeList.Item(nCurRow), "dInDate")
strComments = GetXmlNodeValue(objXmlResultNodeList.Item(nCurRow), "xComments")

%>

<tr>
<td><%=strDocName%></td>
<td>&nbsp;</td>
<td><%=strDocTitle%></td>
<td>&nbsp;</td>
<td><%=strDocType%></td>
<td>&nbsp;</td>
<td><%=strInDate%></td>
<td>&nbsp;</td>
<td><%=strComments%></td>
</tr>
<%
Next
%>

</table>

<%

DisplayBackButton()
‘----------------------------
Function GetXmlNodeValue(objXmlRowNode, strNodeName)
‘----------------------------
Dim objXmlNode, objXmlNodeValue

Set objXmlNode = objXmlRowNode.selectSingleNode("@" & strNodeName)
If (objXmlNode Is Nothing) Then
Set objXmlNode = objXmlRowNode.selectSingleNode("idc:field[@name='" & strNodeName & "‘]")
End If

If (Not (objXmlNode Is Nothing)) Then
GetXmlNodeValue = objXmlNode.Text
End If
‘----------------------------
End Function
‘----------------------------

‘----------------------------
Sub DisplayBackButton()
‘----------------------------
%>
<form method=POST action="request.asp">
<table>
<tr>
<td><input type=submit value="Back"></td>
</tr>
</table>
</form>
<%
‘----------------------------
End Sub
‘---------------------------
%>

32.5 WebCenter ContentにアクセスするためのWSDLファイルの生成

WebCenter Contentサービスとの接続のためにWSDLファイルを生成できます。

32.5.1 WSDLファイルの理解

WSDLファイルは、コンテンツ・サーバー・サービスによって認識可能なデータを渡せるようにします。コンテンツ・サーバー・サービスにより、WebCenter Content内のコンテンツおよびコンテンツ管理機能へのアクセスが可能になります。コンポーネントとともに提供されているWSDLファイルは、IntradocDir/weblayout/groups/secure/wsdl/custom/ディレクトリに格納されます。

WSDLジェネレータ・コンポーネントとともに次のWSDLファイルが提供されます。

  • CheckIn.wsdl

  • DocInfo.wsdl

  • GetFile.wsdl

  • MetaData.wsdl

  • PortalInfo.wsdl

  • Search.wsdl

  • Subscription.wsdl

  • Workflow.wsdl

SoapカスタムWSDL管理ページを使用して、追加のWSDLファイルを生成できます。詳細は、「サンプルのWSDLファイル」を参照してください。

32.5.1.1 WSDLファイル構造

WSDLファイルは、形式上、Webサービスに渡されるデータの説明を含む要素で構造化されます。この構造は、交換されるデータを解析するために、アプリケーションの送信とアプリケーションの受信を可能にします。

WSDL要素には、データ上で実行される操作の説明およびプロトコルまたはトランスポートへのバインディングが含まれます。これにより、データの処理と、応答する方法やデータを返す方法の解釈の両方のために、アプリケーションを受信できるようになります。各WSDL要素内に、追加のサブ要素が含まれる場合もあります。

WSDLファイル構造には、次の主要素が含まれます。

  • データ型: 一般に、メッセージで使用されるXMLスキーマの形式を取ります。

  • メッセージ: 完全なドキュメント、またはメソッド起動にマップされる引数として、メッセージの形式をとるデータの定義。

  • ポート・タイプ: アドレスにマップされた操作のセット。これは、バインディングのための操作のコレクションを定義します。

  • バインディング: 特定のポート・タイプにおける操作とメッセージで実際に使用されるプロトコルとデータ形式。

  • サービスとポート: サービスは、バインディングをポートにマップし、ポートは、バインディングと、通信交換のためのネットワーク・アドレスの組合せです。

    注意:

    次のコード・フラグメントは、WSDLジェネレータ・コンポーネントとともに提供されるDocInfo.wsdlファイルにあるものです。完全なWSDLファイルについては、「サンプルのWSDLファイル」を参照してください。

32.5.1.1.1 データ型

データ型<types>は複合型および関連する要素を定義します。Webサービスは、単純なデータ型(文字列、整数、ブールなど)と複雑なデータ型の両方をサポートします。複雑な型は、複数の単純な型またはサブ要素の配列を含む構造化されたXMLドキュメントです。

ContentInfoセットに対する次のコード・フラグメントでは、NameTitleAuthorおよびGroupの各要素を定義し、それらが文字列であることを指定します。

<s:complexType name="ContentInfo">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="dDocName" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="dDocTitle" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="dDocType" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="dDocAuthor" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="dSecurityGroup" type="s:string"/>
</s:sequence>
</s:complexType>
32.5.1.1.2 メッセージ

メッセージ<message>は、メソッドの起動にマップされるデータを引数として定義します。

<message name="DocInfoByIDSoapIn">
<part name="parameters" element="s0:DocInfoByID" />
</message>
<message name="DocInfoByIDSoapOut">
<part name="parameters" element="s0:DocInfobyIDResponse" />
</message>
32.5.1.1.3 ポート・タイプ

ポート・タイプ<portType>は、バインディングのための操作のコレクションを定義します。DocInfo.wsdlファイルは、DocInfoSoapDocInfo操作名(メソッド名)を、メッセージを処理するためのI/O情報とともに提供します。

<portType name="DocInfoSoap">
<operation name="DocInfoByID">
<input message="s0:DocInfoByIDSoapIn" />
<output message="s0:DocInfoByIDSoapOut" />
</operation>
</portType>

注意:

ポート・タイプは、(Javaにおけるクラスと同様に)操作のコレクションです。一方、WSDLは、.NET、EJBまたはCORBAオブジェクトへの単なるマッピングよりも多くの機能を提供する、独立したデータ抽象化です。

32.5.1.1.4 バインディング

バインディング<binding>は、特定のポート・タイプに対する操作およびメッセージの実際のプロトコルおよびデータ・フォーマットを定義します。

<binding name="DocInfoSoap" type="s0:DocInfoSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
<operation name="DocInfoByID">
<soap:operation soapAction="http://wwww.oracle.com/Soap/DocInfo/" style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
32.5.1.1.5 サービスとポート

サービス<service>は、バインディングをポートにマップします。ポートは、バインディングと、通信交換のためのネットワーク・アドレスの組合せです。ポートは、定義されたトランスポート上でポート・タイプ(操作)のセットを公開するために使用されます。

<service name="DocInfo">
<port name="DocInfoSoap" binding="s0:DocInfoSoap">
<soap:address location="http://myhost.example.com:16200/_dav/cs/idcplg" />
</port>
</service>

注意:

&IsSoap=1をコンテンツ・サーバーのブラウザ・ウィンドウのURLに追加して、そのページの基礎となるSOAPコードを表示できます。

32.5.2 サンプルWSDLファイル

次のサンプル・コードは、完全なDocInfo.wsdlファイルを示しています。このファイルと、CheckIn.wsdl、GetFile.wsdlおよびSearch.wsdlファイルは、コンテンツ・サーバー・インスタンスのIntradocDir/weblayout/groups/secure/wsdl/customディレクトリにあります。

<?xml version='1.0' encoding='utf-8' ?>
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:s0="http://wwww.oracle.com/DocInfo/"
targetNamespace="http://wwww.oracle.com/DocInfo/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.oracle.com/DocInfo/">
<s:element name="DocInfoByID">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="dID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="extraProps" type="s0:IdcPropertyList" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="DocInfoByIDResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="DocInfoByIDResult" type="s0:DocInfoByIDResult" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="DocInfoByIDResult">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="ContentInfo" type="s0:ContentInfo" />
<s:element minOccurs="0" maxOccurs="unbounded" name="Revisions" type="s0:Revisions" />
<s:element minOccurs="0" maxOccurs="unbounded" name="WorkflowInfo" type="s0:WorkflowInfo" />
<s:element minOccurs="0" maxOccurs="1" name="StatusInfo" type="s0:StatusInfo" />
</s:sequence>
</s:complexType>
<s:element name="DocInfoByName">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="dDocName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="extraProps" type="s0:IdcPropertyList" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="DocInfoByNameResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="DocInfoByNameResult" type="s0:DocInfoByNameResult" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="DocInfoByNameResult">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="ContentInfo" type="s0:ContentInfo" />
<s:element minOccurs="0" maxOccurs="unbounded" name="Revisions" type="s0:Revisions" />
<s:element minOccurs="0" maxOccurs="unbounded" name="WorkflowInfo" type="s0:WorkflowInfo" />
<s:element minOccurs="0" maxOccurs="1" name="StatusInfo" type="s0:StatusInfo" />
</s:sequence>
</s:complexType>
<s:complexType name="ContentInfo">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="dDocName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dDocTitle" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dDocType" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dDocAuthor" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dSecurityGroup" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dDocAccount" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="dRevClassID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="dRevisionID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="dRevLabel" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dIsCheckedOut" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="dCheckoutUser" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dCreateDate" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dInDate" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dOutDate" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dStatus" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dReleaseState" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dFlag1" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dWebExtension" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dProcessingState" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dMessage" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dReleaseDate" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dRendition1" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dRendition2" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dIndexerState" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dPublishType" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dPublishState" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dDocID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="dIsPrimary" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="dIsWebFormat" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="dLocation" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dOriginalName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dFormat" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dExtension" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dFileSize" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="CustomDocMetaData" type="s0:IdcPropertyList" />
</s:sequence>
</s:complexType>
<s:complexType name="Revisions">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="dFormat" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dInDate" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dOutDate" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dStatus" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dProcessingState" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dRevLabel" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="dDocName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dRevisionID" type="s:int" />
</s:sequence>
</s:complexType>
<s:complexType name="WorkflowInfo">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="dWfID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="dDocName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dWfDocState" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dWfComputed" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dWfCurrentStepID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="dWfDirectory" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dClbraName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dWfName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dWfDescription" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dCompletionDate" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dSecurityGroup" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dWfStatus" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dWfType" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dProjectID" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dIsCollaboration" type="s:boolean" />
</s:sequence>
</s:complexType>
<s:complexType name="StatusInfo">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="statusCode" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="statusMessage" type="s:string" />
</s:sequence>
</s:complexType>
<s:complexType name="IdcPropertyList">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="property" type="s0:IdcProperty" />
</s:sequence>
</s:complexType>
<s:complexType name="IdcProperty">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="name" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="value" type="s:string" />
</s:sequence>
</s:complexType>
</s:schema>
</types>
<message name="DocInfoByIDSoapIn">
<part name="parameters" element="s0:DocInfoByID" />
</message>
<message name="DocInfoByIDSoapOut">
<part name="parameters" element="s0:DocInfoByIDResponse" />
</message>
<message name="DocInfoByNameSoapIn">
<part name="parameters" element="s0:DocInfoByName" />
</message>
<message name="DocInfoByNameSoapOut">
<part name="parameters" element="s0:DocInfoByNameResponse" />
</message>
<portType name="DocInfoSoap">
<operation name="DocInfoByID">
<input message="s0:DocInfoByIDSoapIn" />
<output message="s0:DocInfoByIDSoapOut" />
</operation>
<operation name="DocInfoByName">
<input message="s0:DocInfoByNameSoapIn" />
<output message="s0:DocInfoByNameSoapOut" />
</operation>
</portType>
<binding name="DocInfoSoap" type="s0:DocInfoSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
<operation name="DocInfoByID">
<soap:operation soapAction="http://www.oracle.com/DocInfo/" style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="DocInfoByName">
<soap:operation soapAction="http://www.oracle.com/DocInfo/" style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<service name="DocInfo">
<port name="DocInfoSoap" binding="s0:DocInfoSoap">
<soap:address location="http://myhost.example.com:16200/_dav/cs/idcplg/idc_cgi_isapi.dll" />
</port>
</service>
</definitions>

32.5.3 WSDLファイルの生成

Oracle WebCenter Contentのインストール時に、WSDLジェネレータ・コンポーネントがインストールされて有効化されると、一部のサービスをWebサービスとして公開する、いくつかのフォルダおよび関連するHDAファイルが生成されます。IntradocDir/data/soapディレクトリに、2つのディレクトリが作成されます。genericディレクトリにはgeneric.hdaファイルが含まれ、customディレクトリにはwsdl_custom.hdaファイルが含まれます。管理者は、Soap Wsdl管理ページを使用して、WSDLファイルをカスタマイズしたり追加したりできます。それらのページにアクセスするには、「管理アプレット」ページの「管理」セクションで「Soap WSDL」リンクをクリックします。

注意:

WSDLファイルを生成するには、WSDLジェネレータ・コンポーネントを有効にする必要があります。

SoapカスタムWSDL管理ページを使用したカスタムWSDLの作成および編集に関するステップバイステップの手順については、「WSDLファイルのカスタマイズ」を参照してください。

32.5.4 WSDLファイルからのプロキシ・クラスの生成

開発者は、WSDLファイルを使用して、開発ツールにプラグインするためのプロキシ・クラスを作成できます。WSDLファイルをJava、Visual Basic、C#などの言語のプログラミング・クラス・ファイルに変換するための、多数のソフトウェア製品およびツールキットがあります。たとえば、Apache AXISは、SOAPからJavaへの変換のためのツールキットを提供し、Microsoft .NET開発環境は、WSDLファイルをC#に変換する機能を提供しています。

Microsoft .NETを使用している場合は、utilitywsdl.exeを使用してプロキシ・クラスを生成できます。

wsdl /l:CS DocInfo.wsdl

このユーティリティは、DocInfoServiceクラスおよびパラメータが指定されたDocInfo関数を含むDocInfoService.csファイル(C#クラス)を生成します。戻り値は、すべてのレスポンス・パラメータが指定されたDocInfoSetクラスと、ErrorCodeおよびErrorMessageの値です。ErrorCodeがゼロ未満の場合、サービス・コールでエラーが発生したことを示しています。その詳細は、ErrorMessage値で確認できます。

注意:

WSDLジェネレータ・コンポーネントで提供されるWSDLファイルに加えて、任意のWebCenter Contentサービス用のWSDLファイルを生成することもできます。詳細は、「WSDLファイルの生成」を参照してください。

32.6 WSDLファイルのカスタマイズ

SoapカスタムWSDL管理ページには、管理者がWSDLファイルを編集およびカスタマイズできる機能があります。この章では、カスタムWSDLの作成および編集に関するステップバイステップの手順を説明する管理のチュートリアルを提供します。

WSDLファイルを生成するには、WSDLジェネレータ・コンポーネントを有効にする必要があります。WSDLジェネレータ・コンポーネントで提供されるWSDLファイルに加えて、任意のWebCenter Contentサービス用の追加のWSDLファイルを生成することもできます。詳細は、「WSDLファイルの生成」を参照してください。

使用可能なサービスのリストと必須パラメータの詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』を参照してください

SoapカスタムWSDL管理ページを使用してカスタムWSDLファイルを作成および編集する手順は次のとおりです。

  1. Webブラウザで、Oracle WebCenter Content Serverに管理者としてログインします。
  2. 「管理」トレイまたはメニューから、「Soap WSDL」を選択します。

    このオプションにより、図32-3に示す「WSDLリスト」ページが開きます。

    図32-3 「WSDLリスト」ページ

    図32-3の説明が続きます
    「図32-3 「WSDLリスト」ページ」の説明
  3. 「アクション」メニューから、「データ・リスト」を選択します。

    このオプションにより、図32-4に示す「データ・リスト」ページが開きます。

    図32-4 「データ・リスト」ページ

    図32-4の説明が続きます
    「図32-4 「データ・リスト」ページ」の説明

    注意:

    システム固有のWSDLは削除できません。ただし、WSDLを編集し、そのWSDLに対して複合型の要素を有効化または無効化することができます。

    データ・リストは、複合型、サービス・パラメータまたは他のデータ・リストとともに使用できる、データのグローバルなリストです。データ・リストがパラメータまたは複合型のサブタイプとして指定されている場合、そのデータ・リストのすべてのサブタイプがデータ型として表示されます。データ・リストは、いったん定義されると、様々なWSDLおよびサービスで複数回参照できます。データ型のリストでは、すべてのデータ・リストにd:という接頭辞が付いています。

  4. 「アクション」メニューから「データ・リストの追加」を選択します。

    「データ・リストの追加」ページが表示されます。

  5. 次の情報を入力します。

    名前: UserMetaFields

    説明: ユーザー・メタデータ・フィールド

  6. 「追加」をクリックします。
  7. データ・リストの要素の「名前」列に、ユーザー・メタデータ・フィールドの次の名前を入力します。
    • dName

    • dFullName

    • dPassword

    • dEmail

    • dUserAuthType

    図32-5に示すように、それぞれの名前で、「タイプ」列のメニューから「field:string」を選択し、必ず「有効」を選択します。

    図32-5 データ・リストの要素

    図32-5の説明が続きます
    「図32-5 データ・リストの要素」の説明
  8. 「更新」をクリックします。

    更新された「データ・リスト」ページに戻ります。UserMetaFieldsがリストの下部に表示されていることに注意してください。

  9. 「アクション」メニューから「WSDLリスト」を選択します。

    図32-6に示す「WSDLリスト」ページが再表示されます。

    図32-6 再表示された「WSDLリスト」ページ

    図32-6の説明が続きます
    「図32-6 再表示された「WSDLリスト」ページ」の説明
  10. 「アクション」メニューから「WSDLの追加」を選択します。

    「WSDLの追加」ページが表示されます。

  11. 次の情報を入力します。

    名前: UserInfo

    説明: ユーザー・サービス

  12. 「追加」をクリックします。

    図32-7に示す「WSDL情報」ページが表示されます。

    図32-7 「WSDL情報」ページ

    図32-7の説明が続きます
    「図32-7 「WSDL情報」ページ」の説明
  13. 「アクション」メニューから「複合型の追加」を選択します。

    「複合型の追加」ページが表示されます。

    注意:

    複合型には、他のデータ型がサブタイプとして含まれています。それらが作成されると、WSDL内の任意のサービスで、これらの複合型をパラメータとして使用できます。

  14. 複合型に関する次の情報を入力します。

    名前: UserAttribInfo

    タイプ: メニューから「resultset」を選択します。

  15. 「追加」をクリックします。

    図32-8に示す「WSDL情報」ページが再表示されます。

    図32-8 再表示された「WSDL情報」ページ

    図32-8の説明が続きます
    「図32-8 再表示された「WSDL情報」ページ」の説明
  16. 「UserAttribInfo」行で「編集」をクリックします。

    「複合型の情報」/「複合型の要素」ページが開きます。

  17. 次の複合型の要素を入力し、メニューからそれぞれの「タイプ」値を選択します。
    名前 タイプ Idc名

    dUserName

    field:string

    AttributeInfo

    field:string

  18. 「複合型の要素」セクションで「更新」をクリックします。

    更新された「WSDL情報」ページに戻ります。User AttribInfoが複合型として表示されていることに注意してください。

  19. 「アクション」メニューから「サービスの追加」を選択します。

    「サービスの追加」ページが開きます。

  20. 次の情報を入力します。

    名前: AddUser

    IdcService: ADD_USER

  21. 「追加」をクリックします。

    「WSDL情報」ページが開きます。

  22. AddUserサービスに対して「編集」を選択します。

    このオプションにより、図32-9に示す「サービス情報」ページが開きます。

    図32-9 「サービス情報」ページ

    図32-9の説明が続きます
    「図32-9 「サービス情報」ページ」の説明

    注意:

    WSDLを作成する際、コンテンツ・サーバーのIdcServices機能に対応するサービスを作成します。サービスがWebサービス・コールとの間でやり取りするリクエストおよびレスポンス・パラメータも指定します。

  23. 「アクション」メニューから「リクエスト・パラメータの更新」を選択します。

    「リクエスト・パラメータ」ページが表示されます。

  24. 次の情報を入力し、メニューからタイプを選択します。
    名前 タイプ Idc名

    DataList

    d:UserMetaFields

    CustomUserData

    propertylist:CustomUserMeta

  25. 「更新」をクリックします。

    更新された「サービス情報」ページに戻ります。「リクエスト・パラメータ」セクションにDataListおよびCustomUserDataが表示されていることに注意してください。

  26. 「更新」をクリックします。

    更新された「WSDL情報」ページに戻ります。このページには、今追加したサービスが表示されています。

  27. 「更新」を再度クリックします。

    更新された「WSDLリスト」ページに戻ります。UserInfoがリストの下部に表示されています。

  28. 「アクション」メニューから「WSDLの生成」を選択します。

    WSDLが正常に生成されると、確認メッセージが表示されます。

  29. 「戻る」をクリックします。

    「WSDLリスト」ページに戻ります。

  30. 「名前」列の「UserInfo」リンクをクリックします。

    生成されたWSDLファイルのソース・コードが表示されます。

    Partial Source Code, Wsdl File
      <?xml version="1.0" encoding="utf-8" ?>
    - <definitions xmins:http="http://schemas.xmlsoap.org/wsdl/http/"
        xmlns:soap="http://schemas.smlsoap.org/wsdl/soap/"
        xmlns:s="http://www.w3.org/2001/XMLSchema"
        xmlns:s0="http://www.example.com/UserInfo/"
        targetNamespace="http://www.example.com/UserInfo/"
        xmlns="http://schemas.xmlsoap.org/wsdl/">
      - <types>
        - <s:schema elementFormDefault="qualified"
            targetNamespace="http://www.example.com/UserInfo/">
          - <s:element name="AddUser">
            - <s:complexType>
              - <s:sequence>
                  <s:element minOccurs="0" maxOccurs="1" name="dName"
                    type="s:string" />
                  <s:element minOccurs="0" maxOccurs="1" name="dFullName"
                    type="s:string" />
                  <s:element minOccurs="0" maxOccurs="1" name="dPassword"
                    type="s:string" />
                  <s:element minOccurs="0" maxOccurs="1" name="dEmail"
                    type="s:string" />
                  <s:element minOccurs="0" maxOccurs="1" name="dUserAuthType"
                    type="s:string: />
                  <s:element minOccurs="0" maxOccurs="1" name="CustomUserData"
                    type="s0:IdcPropertyList" />
                  <s:element minOccurs="0" maxOccurs="1" name="extraProps"
                    type="s0:IdcPropertyList" />
                </s:sequence>
              </s:complexType>
            </s:element>
    
  31. ブラウザの「戻る」ボタンをクリックします。

    「SoapカスタムWSDL」ページに戻ります。

    ヒント:

    「表示」を右クリックし、デスクトップにWSDLファイルを保存できます(.NETで使用するなどの目的で)。ただし、デフォルトの.xmlファイル拡張子ではなく、.wsdlファイル拡張子でファイルを保存してください。