31 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サービスの管理』のWebサービス管理の概要に関する項を参照してください。
31.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でコンテンツ・サーバーへのサービス・コールを記述することができます。
31.1.1 Webサービス・フレームワーク
Webサービスのコアとなる実現技術は、次のようなものです。
31.1.1.1 XMLデータ
eXtensible Markup Language (XML)は、すべてのWebサービス・テクノロジの基礎を提供する一まとまりの仕様です。XML構造および構文を基礎として使用することで、様々なプログラミング言語、ミドルウェアおよびデータベース管理システム間でデータを交換することが可能になります。
XML構文には、インスタンス・データ、型付け、構造、およびデータに関連するセマンティック情報が組み込まれます。XMLでは、データは独立して記述され、データをソフトウェア・システムまたはプログラミング言語にマップするための情報も提供されます。この柔軟性があるため、どのソフトウェア・プログラムでもWebサービスにマップできます。
Webサービスが起動されると、基礎となるXML構文により、交換されたデータのためのデータ・カプセル化および送信フォーマットが提供されます。XML要素および属性は、データの型と構造に関する情報を定義します。XMLは、データをモデリングする機能を提供し、プログラミング言語(Java、C#、Visual Basicなど)、データベース管理システムまたはソフトウェア・アプリケーションに固有の構造を定義します。Webサービスは、XML構文を使用して、データがどのように表現され、データがどのように送信され、サービスがどのように参照アプリケーションと対話するのかを指定します。
31.1.1.2 WSDLインタフェース
Web Services Description Language (WSDL)は、Webサービスに公開されるインタフェースを提供します。WSDLレイヤーにより、Webサービスを、基礎となるプログラムおよびソフトウェア・システムにマップできるようになります。WSDLファイルは、Webサービスへの接続方法とその使用方法が記述されたXMLファイルです。
31.1.1.3 SOAP通信
Simple Object Access Protocol (SOAP)は、Webサービス・インタフェースがネットワーク経由で相互に通信するためのコンテンツ・サーバー通信を提供します。SOAPは、Webサービスへのアクセスに使用されるXMLベースの通信プロトコルです。Webサービスは、XMLドキュメント内にカプセル化されたSOAPパケットを使用して、リクエストを受信し、レスポンスを返します。
31.1.1.4 UDDIレジストリ
Universal Description Discovery and Integration (UDDI)サービスは、Webサービス・インタフェースの格納と取得のためのレジストリおよびリポジトリ・サービスを提供します。UDDIは、Webサービスの登録および検索のためのパブリックまたはプライベートのXMLベース・ディレクトリです。
コンテンツ・サーバーは現在、いずれのパブリックまたはプライベートUDDIソースにも公開されません。ただし、このことにより、コンテンツ・サーバーを、Webサービスを使用する他のアプリケーションと統合できなくなるわけではありません。
31.1.1.5 DIMEメッセージのフォーマット
DIMEは、任意のタイプとサイズの、アプリケーションで定義された1つ以上のファイル・コンテンツ・グループを単一のメッセージ構成にカプセル化するために使用できる軽量のバイナリ・メッセージ・フォーマットです。コンテンツのアップロードまたはダウンロードで、このフォーマットを使用できます。ペイロードは、SOAPメッセージおよび1つ以上のファイル・コンテンツ・グループで構成されています。
31.1.1.6 実現技術を連携させる方法
XML、WSDL、SOAPおよびUDDIテクノロジは、Webサービス・プロトコル・スタック上のレイヤーとして連携して機能します。図31-1に示すように、Webサービス・プロトコル・スタックは、次のレイヤーで構成されています。
-
アプリケーション間のトランスポート・レイヤー(HTTP)
-
一般的な通信方法を提供するメッセージング・レイヤー(XMLおよびSOAP)
-
特定のWebサービスへのパブリック・インタフェースを記述するサービス記述レイヤー(WSDL)
-
Webサービス・インタフェースの格納と取得のためのレジストリおよびリポジトリ・サービスを提供するサービス検出レイヤー(UDDI)
ノート:
トランスポート・レイヤーでは、いくつかのプロトコル(HTTP、SMTP、FTP、BEEPなど)が使用できますが、HTTPプロトコルがもっとも一般的に使用されています。WSDLジェネレータ・コンポーネントは、トランスポート・レイヤーとしてHTTPプロトコルに依存します。
これらのテクノロジ間の接続を理解しやすくするため、単純な例えで考えてみましょう。つまり、HTTPを電話回線(アプリケーション間のトランスポート)として捉え、UDDIを電話帳(開発者はUDDIレジストリを参照して登録済のサービスを検索できます)として捉えます。この例えでは、SOAPは人々が電話で話す声(情報の交換)、XMLは人々が話す言語(データ交換の基礎となる構造)と見なすことができます。電話の例えで続けるなら、WSDLは、特定のWebサービスをコールするための電話番号になります(もちろん、WSDLには使用可能な機能やデータ型などの情報が含まれているため、WSDLは単なる電話番号以上のものです)。
31.1.1.7 実装のアーキテクチャ
Webサービスは、実行可能ファイルではありませんが、開発環境内でデータを交換します。そのため、Webサービスは、データを交換するプログラム間で通信を実行するアプリケーション・サーバーまたはソフトウェア・パッケージと情報を交換する手段となります。
図31-2は、コンテンツ・サーバー・アプリケーションのためのWebサービス実装アーキテクチャを示しています。このアーキテクチャのプライマリ値は、コンテンツ・サーバーの機能において保持されます。Webサービスは、WSDLジェネレータを通じてコンテンツ・サーバーにアクセスし、公開されたコンテンツ・サーバー・サービスを使用してアクションを実行し、ユーザーが使用するWebサービスとコンテンツ・サーバー間のデータ・トランザクションを提供します。
31.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サービスとして作成およびデプロイすることが可能です。
31.1.1.9 SOAPプロトコル
SOAPは、次のパーツで構成されている、XMLベースのメッセージング・プロトコルです。
-
メッセージの内容とその処理方法を定義するエンベロープ
-
アプリケーション・データ型を定義する一連のエンコーディング・ルール
-
リモート・プロシージャ・コールおよびレスポンスを表すための規則
SOAP統合を使用すると、Java API (IdcCommand
)を使用してコンテンツ・サーバー・サービスを実行するための標準化されたインタフェースが提供され、コンテンツ・サーバーによって管理されるXMLおよび非XMLコンテンツが提供されます。
SOAPは、データ送信にHypertext Transfer Protocol (HTTP)を使用するため、Web経由で起動でき、プラットフォームと言語に依存しない方法でネットワーク経由でコンテンツにアクセスできるようにします。
31.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()
属性を指定する必要があります。
31.2.1 Java SOAPクライアントの使用
Java SOAPクライアントでは、表31-1に示すコマンドライン・パラメータを使用できます。
表31-1 Java SOAPクライアントのコマンドライン・パラメータ
パラメータ | 説明 |
---|---|
|
サーバー設定(ホストやポートなど)を含む構成ファイル |
|
コンテンツ・サーバーに渡すSOAPリクエストを含むXMLファイル |
|
アップロードするプライマリ・ファイルのファイル名 |
|
アップロードする代替ファイルのファイル名(オプション) |
|
リクエストおよびレスポンス・データを含むファイルのファイル名(オプション) |
31.3 SOAPを使用したコンテンツ・サーバー・サービスのコール
SOAPインタフェースを使用して、様々なコンテンツ・サーバーのIdcCommand
サービスを実行できます。ユーザーIDには、コマンドを実行するための適切な権限が必要です。管理者アクセスを必要とするコマンドもあれば、書込み権限のみを必要とするコマンドもあります。
WSDLジェネレータ・コンポーネントは、コンテンツ・サーバーにデフォルトでインストールされ有効化されます。サービスをコールするには、これを有効な状態にしておく必要があります。使用可能なサービスおよび必須パラメータのリストについては、『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』のOracle WebCenter Contentサービスのリストに関する項を参照してください。
31.3.1 SOAPパケットのフォーマット
SOAPリクエストは、HTTPトランスポート・プロトコルを使用して送信されるXMLベースのリモート・プロシージャ・コール(RPC)です。SOAPパケットのペイロードは、実行されるコールと渡されるパラメータを指定するXMLドキュメントです。
31.3.1.1 HTTPヘッダー
SOAPリクエストのHTTPヘッダーでは、次のエントリが必要です。
Content-Type: text/xml; charset="utf-8"
次のSOAPAction
ヘッダーが推奨されますが、必須ではありません。
SOAPAction: "http://www.oracle.com/IdcService"
31.3.1.2 ネームスペース
SOAPメッセージのボディ内では、ドキュメントの各部分の要素および属性名を修飾するためにXMLネームスペースが使用されます。要素名は、グローバルとする(SOAPメッセージ全体で参照されます)ことも、ローカルとすることもできます。ローカルの要素名は、ネームスペースによって提供され、その名前は、それが存在するメッセージの特定部分で使用されます。そのため、SOAPメッセージは、ネームスペースを使用して、メッセージの別の部分の要素名を修飾します。アプリケーション固有のネームスペースは、アプリケーション固有の要素名を修飾します。ネームスペースはまた、エンベロープのバージョンとエンコーディング・スタイルも識別します。
コンテンツ・サーバーは、SOAPコンテンツのスキーマと許容されるタグを説明する、idc
と呼ばれるネームスペースを定義します。
31.3.1.3 ノード
SOAPノードは、SOAPバインディングを通じて基礎となるプロトコルによって提供されるサービスにアクセスするためのルールに従ってSOAPメッセージを処理するエンティティです。したがって、メッセージの処理には、基礎となるサービスへのマッピングが含まれます。SOAP仕様は、SOAPメッセージの部分と、メッセージの各部分を処理するソフトウェア・ハンドラ間の相関関係を定義します。
次のノードは、サービス・リクエストで必要になったり、レスポンスで返されたりする可能性があります。
-
ノート:
コンテンツ・サーバー・サービスは、リクエストにおいてデータが指定されている場所については柔軟に対応します。fieldノードにデータ・フィールドを指定し、かつそれがdocument属性と想定される(またはその逆の)場合でも、サービスは、データを正しく処理します。レスポンスは、データを正しいノードに配置します。
31.3.1.3.1 serviceノード
IDCネームスペース内のメイン・ノードである<idc:service>
ノードには、次の要件があります。
-
リクエストが処理されるためには、このノードが存在している必要があります。
-
必須属性
IdcService
は、リクエストしているサービスを定義します。 -
<idc:service>
のサブノードでは、そのタグ内にネームスペースが含まれている必要はありません。たとえば、
<idc:document>
ではなく、<document>
を使用できます。ただし、子ノードでネームスペース識別子を定義する場合、serviceタグ内に指定されている識別子と一致させる必要があります。
次の例は、PING_SERVER
サービス・リクエストが指定された<idc:service>
ノードを示しています。
例31-1 IDCネームスペースにおけるserviceノード
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="PING_SERVER"> </idc:service>
31.3.1.3.2 documentノード
<document>
ノードには、すべてのコンテンツ・アイテム情報が含まれており、このノードは、すべてのデータ・ノードの親になります。
コンテンツ・アイテムに対して有効な属性は、特定のコンテンツ・サーバーによって定義されます。たとえば、dID
、dDocTitle
およびdDocType
は、共通属性です。<document>
ノードには、次のルールが適用されます。
-
カスタムのコンテンツ・アイテム情報(
xSpec
など)は、それがメタデータとして定義されている場合は有効です。 -
すべての既知のdocumentフィールドは、属性として使用できます。
次の例は、CHECKOUT_BY_NAME
サービスを使用する<document>
ノードを示しています。
例31-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>
31.3.1.3.3 userノード
<user>
ノードには、すべてのユーザー情報が含まれます。<user>
ノードには、次のルールが適用されます。
-
ユーザーに対して有効な属性は、特定のコンテンツ・サーバーによって定義されます。たとえば、
dName
、dFullName
およびdEmail
は、共通属性です。 -
カスタムのユーザー情報は、それがメタデータとして定義されている場合は有効です。
-
すべての既知のuserフィールドは、属性として使用できます。
次の例は、GET_USER_INFO
サービス・リクエストのユーザーを指定する<user>
ノードを示しています。
例31-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>
31.3.1.3.4 optionlistノード
<optionlist>
ノードには、任意のオプション・リストが含まれます。name
属性は、オプション・リストの名前を指定します。各<option>
サブノードには、<optionlist>
ノード内の値が含まれます。
次の例は、ロケール値を持つ<option>サブノードがある<optionlist>
ノードを示しています。
例31-4 ロケールのoptionlistノード
<idc:optionlist name="Users_UserLocaleList"> <idc:option> English-US </idc:option> </idc:optionlist>
31.3.1.3.5 IDC optionlistノード内のoptionサブノード
<option>
サブノードは、<optionlist>
ノード内に指定されます。option
属性は、オプション・リストのオプションの名前を指定します。
次の例は、dDocType
値が指定された<option>
ノードを示しています。
例31-5 optionlistノードのoptionサブノード
<idc:optionlist name="dDocType"> <idc:option>ADACCT</idc:option> <idc:option>ADHR</idc:option> <idc:option>ADSALES</idc:option> </idc:optionlist>
31.3.1.3.6 resultsetサブノード
<resultset>
サブノードは、<document>
または<user>
ノード内に指定することができます。このサブノードには、リクエストまたはレスポンス内のResultSetの情報が含まれます。name
属性はResultSetの名前を指定します。
次の例では、リビジョン履歴を含むResultSetの<resultset>
サブノードを指定します。
例31-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>
31.3.1.3.7 rowサブノード
<row>
サブノードは、<resultset>
サブノード内で指定されます。<resultset>サブノードは、複数の<row>サブノードを持つことができます。各<row>サブノードは、ResultSet内の行を指定します。
有効な属性は、特定のコンテンツ・サーバーによって定義されます。有効な属性は、<document>
または<user>
ノード内の属性として表示できるものと同じフィールドです。
次の例では、user属性のResultSet内の行を指定します。
例31-7 resultsetサブノードのrowサブノード
<idc:resultset name="UserAttribInfo"> <idc:row dUserName="jsmith" AttributeInfo="role,contributor,15"> </idc:row> </idc:resultset>
31.3.1.3.8 fieldサブノード
<field>
サブノードは、<document>
、<user>
または<row>
ノード内に指定することができます。name
属性は、フィールドの名前を指定します。<field>
サブノードは多くの場合、refreshSubjects
やdSubscriptionID
などのデータを表します。
<field>
サブノードは、ユーザーが構成できるドキュメントまたはユーザー・メタデータを表すことができます。または、xComments
などのカスタム・メタデータを表すこともできます。次の例では、サブスクリプションIDデータを表すfieldサブノードを指定します。
Field Node to Represent Metadata <idc:field name="dSubscriptionID"> stellent </idc:field>
<field>
サブノードの別の使用法としては、次の例に示されているように、QueryText
やOriginalQueryText
などのフィールドの検索結果値を渡すことがあります。
Field Subnode to Pass a Value <idc:field name="QueryText"> dDocType <Substring> "ADSALES&" </idc:field>
31.3.2 特殊文字
左山カッコ(<
)や右山カッコ(>
)などの特殊文字をWebCenter Contentに渡すときは、例31-2に示すXMLエンコーディング・フォーマットを使用する必要があります。
表31-2 特殊文字のフォーマット
標準フォーマット | XMLエンコーディング・フォーマット |
---|---|
|
|
|
|
|
|
|
|
|
|
ノート:
QueryText
やOriginalQueryText
などの一部の検索結果値は、レスポンス内でURLエンコードされます。
(汎用的な問合せ構文を使用した)コンテンツ・アイテム問合せの場合は、いずれのフォーマットでもコンテンツ・サーバーに文字列を渡すことができます。次の例では、文字列は標準フォーマットで指定されています。
例31-8 標準フォーマットの文字列が指定されたパラメータ
QueryText=dDocType <Substring> "ADSALES"
次の例では、文字列はXMLエンコード・フォーマットで指定されています。
例31-9 XMLエンコードの文字列が指定されたパラメータ
<idc:field name="QueryText"> dDocType <Substring> `ADSALES` </idc:field>
31.3.3 SOAPレスポンス/リクエストを使用したサンプルのサービス・コール
SOAPレスポンス/リクエストを使用したサービス・コールによって、SOAPリクエストでコンテンツ・サーバー・サービスを実行できます。使用可能なサービスおよび必須パラメータのリストについては、『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』のOracle WebCenter Contentサービスのリストに関する項を参照してください。
次のIdcCommandサービスは、SOAPリクエストの例です。
IdcCommand | 説明 |
---|---|
|
このサービスは、サーバーへの接続が存在するかどうかを評価します。「サーバーのPing」を参照してください。 |
|
このサービスは、システムに新しいユーザーを追加します。「新しいユーザーの追加」を参照してください。 |
|
このサービスは、既存のユーザーを編集します。「既存のユーザーの編集」を参照してください。 |
|
このサービスは、ユーザー・リストを取得します。「ユーザー情報の取得」を参照してください。 |
|
このサービスは、既存のユーザーを削除します。「ユーザーの削除」を参照してください。 |
|
このサービスは、コンテンツ・サーバーによって制御されるチェックインを実行します。「コンテンツ・アイテムのチェックイン」を参照してください。 |
|
このサービスは、指定されたコンテンツ・アイテムの最新バージョンをロック済としてマークします。「コンテンツ・アイテムのチェックアウト」を参照してください。 |
|
このサービスは、コンテンツIDを使用してコンテンツ・アイテムのチェックアウトを元に戻します。「コンテンツ・アイテムのチェックアウトを元に戻す」を参照してください。 |
|
このサービスは、コンテンツ・アイテムのリビジョン情報を取得します。「コンテンツ・アイテム情報の取得」を参照してください。 |
|
このサービスは、チェックアウトを実行せずに、サムネイル・イメージなどのコンテンツ・アイテムのコピーを取得します。「ファイルの取得」を参照してください。 |
|
このサービスは、渡された問合せテキストに対する検索結果を取得します。「検索結果の取得」を参照してください。 |
|
このサービスは、WebCenter Contentデータベースから、指定された表をエクスポートします。「表のデータの取得」を参照してください。 |
|
このサービスは、基準ワークフローの情報を返します。「基準ワークフロー情報の取得」を参照してください。 |
31.3.3.1 サーバーのPing
PING_SERVER
サービスは、サーバーへの接続が存在するかどうかを評価します。
-
このサービスは、コンテンツ・サーバーのステータス情報を返します。
-
このサービスを実行できない場合、
「サーバーへの接続を確立できません。」
というメッセージがユーザーに表示されます。ヒント:
コンテンツ・サーバーへの接続が確立されており、コマンドの実行権限を持つユーザーとしてログインしていることを確認するために、他のサービスをコールする前に
PING_SERVER
リクエストを実行します。
31.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
31.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 'sysadmin'. </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>
31.3.3.2 新しいユーザーの追加
ADD_USER
サービスは、システムに新しいユーザーを追加します。
- ユーザー名が指定されると、サービスは、そのユーザーがシステム内に存在するかどうかを判断します。存在しない場合、サービスは、そのユーザーを追加します。
- 最も発生しがちなエラーは、ユーザー名が一意でないことです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。
31.3.3.2.1 必須パラメータ
次のパラメータを指定する必要があります。
パラメータ | 説明 |
---|---|
|
一意の名前。 |
|
ユーザーの認可タイプ。この値は、 |
|
|
31.3.3.2.2 オプションのパラメータ
次のオプション・パラメータを指定できます。
パラメータ | 説明 |
---|---|
|
ユーザーの電子メール・アドレス。 |
|
ユーザーの完全名。 |
|
ユーザーのパスワード。 |
31.3.3.2.3 オプションの属性情報
このオプション・データは、ユーザーの属性情報、ユーザーが属するロール、およびユーザーがアクセス権を持つアカウントを定義します。属性情報は、3つのカンマ区切りの文字列のリストで構成されます。最初の文字列は属性のタイプを、2番目の文字列は属性の名前を、3番目の文字列はアクセス番号を示します。
ノート:
ユーザー属性情報は、事前定義されていません。デフォルトでは、ユーザーはどのロールまたはアカウントにも属しておらず、システムではゲストになります。
属性情報 | 説明 |
---|---|
|
アクセス番号は、そのユーザーに割り当てられるアクセスまたは権限のレベルを決定します。 |
|
属性名は、割り当てられるroleまたはaccountの名前です。たとえば、 |
|
属性タイプは、 |
アクセス番号
ユーザーに次のアクセス番号を割り当てることができます。
アクセス・レベルのフラグ | 説明 |
---|---|
|
読取り専用。 |
|
読取りと書込み。 |
|
読取り、書込みおよび削除。 |
|
管理権限。 |
属性名
ユーザーは、複数のロールおよびアカウントに属することができます。そのため、属性情報列に、カンマで区切られた複数のロールおよびアカウント情報文字列が存在する可能性があります。
-
ユーザーが管理ロールを持つようにする場合、ユーザー属性情報は次のとおり定義します。
<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
31.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>
31.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>
31.3.3.3 既存のユーザーの編集
EDIT_USER
サービスは、既存のユーザーの情報を編集します。
-
ユーザー名とユーザーの認可タイプが指定されると、サービスは、そのユーザーがシステム内に存在するかどうかを判断します。存在しない場合、サービスは失敗します。それ以外の場合、ユーザー情報は、更新され置き換えられます。
-
最も発生しがちなエラーは、ユーザーがこのアクションを実行するためのセキュリティ・レベルを持っていないことです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。
ノート:
ユーザー属性情報は、現在の属性を置き換えます。リストに追加されるわけではありません。そのため、ユーザー属性情報が定義されていない場合、ユーザーは、システムではゲストになります。
31.3.3.3.1 必須パラメータ
次のパラメータを指定する必要があります。
パラメータ | 説明 |
---|---|
|
一意の名前。 |
|
ユーザーの認可タイプ。この値は、 |
|
|
31.3.3.3.2 オプションのパラメータ
次のオプション・パラメータを指定できます。
パラメータ | 説明 |
---|---|
|
ユーザーの電子メール・アドレス。 |
|
ユーザーの完全名。 |
|
ユーザーのパスワード。 |
|
ロケールの指定( |
|
定義済のユーザー・タイプ。 |
31.3.3.3.3 オプションの属性情報
ユーザーの属性情報を含み、ユーザーが属するロールおよびユーザーがアクセス権を持つアカウントを参照するResultSet。属性情報は、3つのカンマ区切りの文字列のリストで構成されます。最初の文字列は属性のタイプを、2番目の文字列は属性の名前を、3番目の文字列はアクセス番号を示します。
ノート:
ユーザー属性情報は、事前定義されていません。デフォルトでは、ユーザーはどのロールまたはアカウントにも属しておらず、システムではゲストになります。
属性情報 | 説明 |
---|---|
アクセス番号 |
アクセス番号は、そのユーザーに割り当てられるアクセスまたは権限のレベルを決定します。 |
属性名 |
属性名は、割り当てられるroleまたはaccountの名前です。たとえば、admin、contributor、editorなどを割り当てることができます。 |
属性タイプ |
属性タイプは、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
31.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>
31.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>
31.3.3.4 ユーザー情報の取得
GET_USER_INFO
サービスは、ユーザー・リストを取得します。
-
定義済のユーザーが指定されると、サービスは、ユーザー・リストを取得します。
-
このサービスを実行できない場合、
「ユーザー・リストを取得できません。」
というメッセージがユーザーに表示されます。
31.3.3.4.1 必須パラメータ
次のパラメータを指定する必要があります。
パラメータ | 説明 |
---|---|
|
定義済のユーザー。 |
|
|
31.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>
31.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>
31.3.3.5 ユーザーの削除
DELETE_USER
サービスは、既存のユーザーを削除します。
-
ユーザー名が指定されると、サービスは、システムからそのユーザーを削除します。
-
最も発生しがちなエラーは、ユーザーがエイリアスに割り当てられていることです。このサービスを実行できない場合、エラー・メッセージが返されます。
31.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>
31.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>
31.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
は、チェックインするプライマリ・ファイルを指します。
31.3.3.6.1 必須パラメータ
次のパラメータを指定する必要があります。
パラメータ | 説明 |
---|---|
|
コンテンツ・アイテムの作成者(コントリビュータ)。 |
|
コンテンツ・アイテムの識別子(コンテンツID)。
|
|
コンテンツ・アイテムのタイトル。 |
|
コンテンツ・アイテムのタイプ。 |
|
このフラグは |
|
|
|
|
|
サーバーから見た、ファイルの場所への絶対パス。ファイルの区切り文字としてスラッシュを使用します。 プライマリ・ファイルは、メタデータのみをチェックインするのではないかぎり、指定する必要があります。プライマリ・ファイルとともに代替ファイルが指定された場合、Oracle WebCenter Content: Inbound Refineryは、代替ファイルを変換します。それ以外の場合、プライマリ・ファイルが変換されます。
|
ノート:
定義するカスタムのメタデータ・フィールドも指定する必要があります。
31.3.3.6.2 追加パラメータ
次のパラメータが必要な場合もあります。
パラメータ | 説明 |
---|---|
dDocAccount | コンテンツ・アイテムのセキュリティ・アカウント。
アカウントを有効にした場合は、このパラメータを渡す必要があります。 |
31.3.3.6.3 オプションのパラメータ
次のオプション・パラメータを指定することができます。
パラメータ | 説明 |
---|---|
alternateFile |
変換のための代替ファイル。
|
dCreateDate |
コンテンツ・アイテムが作成された日付。デフォルトでは、これは現在の日付です。 |
dInDate |
コンテンツのリリース日。コンテンツ・アイテムがWebにリリースされる日付。デフォルトでは、これは現在の日付です。 コンテンツのリリース日(dInDate)が指定されない場合、作成日(dCreateDate)が使用されます。この値が指定されない場合、自動的に生成されます。 |
dOutDate |
コンテンツの有効期限。デフォルトでは、これはブランクであり、有効期限は指定されません。 コンテンツの有効期限(dOutDate)が入力されない場合、値は空のままになります。これは有効な状態です。 |
dRevLabel |
コンテンツ・アイテムのリビジョン・ラベル。設定された場合、このラベルを使用して、指定されたリビジョンを検索します。 |
isFinished |
これがワークフロー・チェックインであり、その編集が完了している場合は、 詳細は、 |
ノート:
コンテンツID (dDocName
)と内部のコンテンツ・アイテム・リビジョン識別子(dID
)を混同しないでください。dID
値は、コンテンツ・アイテムの特定のレンディションへの、生成済の参照です
31.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>
31.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 'SoapUpload2'. </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>
31.3.3.7 コンテンツ・アイテムのチェックアウト
CHECKOUT_BY_NAME
は、指定されたコンテンツ・アイテムの最新リビジョンをチェックアウトします。
- コンテンツ・アイテムのリビジョンIDが指定されると、このサービスは、コンテンツ・アイテムをシステムで検索し、チェックアウトを元に戻そうとします。
- コンテンツ・アイテムがシステムに存在しない場合、コンテンツ・アイテムがチェックアウトされていない場合、またはチェックアウトを元に戻すのに十分な権限がユーザーにない場合、サービスは失敗します。
- 最も発生しがちなエラーは、コンテンツ・アイテム名が存在しないことです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。
ノート:
このサービスは、コンテンツ・アイテムをロック済としてマークするだけです。ダウンロードは実行しません。
31.3.3.7.1 必須パラメータ
次のパラメータを指定する必要があります。
パラメータ | 説明 |
---|---|
|
コンテンツ・アイテムの識別子(コンテンツID)。 |
|
|
ノート:
コンテンツID (dDocName
)と内部のコンテンツ・アイテム・リビジョン識別子(dID
)を混同しないでください。dID
値は、コンテンツ・アイテムの特定のレンディションへの、生成済の参照です。
31.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>
31.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>
31.3.3.8 コンテンツ・アイテムのチェックアウトを元に戻す
UNDO_CHECKOUT_BY_NAME
サービスは、コンテンツIDを使用してコンテンツ・アイテムのチェックアウトを元に戻します。
-
コンテンツ・アイテムの名前が指定されると、このサービスは、コンテンツ・アイテムをシステムで検索し、チェックアウトを元に戻そうとします。
-
コンテンツ・アイテムがシステムに存在しない場合、コンテンツ・アイテムがチェックアウトされていない場合、またはチェックアウトを元に戻すのに十分な権限がユーザーにない場合、サービスは失敗します。
-
このサービスは、アプレットまたはアプリケーションによって使用されます。
-
このサービスを実行できない場合、
「{dDocName}に対するチェックアウトを元に戻せません。」
というメッセージがユーザーに表示されます。
31.3.3.8.1 必須パラメータ
次のパラメータを指定する必要があります。
パラメータ | 説明 |
---|---|
|
コンテンツ・アイテムの識別子(コンテンツID)。 |
|
|
ノート:
コンテンツID (dDocName
)と内部のコンテンツ・アイテム・リビジョン識別子(dID
)を混同しないでください。dID
値は、コンテンツ・アイテムの特定のレンディションへの、生成済の参照です。
31.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>
31.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>
31.3.3.9 コンテンツ・アイテム情報の取得
DOC_INFO
サービスは、コンテンツ・アイテムのリビジョン情報を取得します。
-
コンテンツ・アイテムのリビジョンIDが指定されると、このサービスは、コンテンツ・アイテムのリビジョン情報を取得します。
-
最も発生しがちなエラーは、そのコンテンツ・アイテムがすでにシステムに存在していないか、ユーザーがこのアクションを実行するためのセキュリティ・レベルを持っていないことです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。
31.3.3.9.1 必須パラメータ
次のパラメータを指定する必要があります。
パラメータ | 説明 |
---|---|
|
生成済のコンテンツ・アイテムのリビジョンID。 |
|
|
31.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>
31.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>
31.3.3.10 ファイルの取得
GET_FILE
サービスは、コンテンツ・アイテムの特定のレンディション、最新のリビジョンまたは最新リリースのリビジョンを返します。チェックアウトを実行せずにコンテンツ・アイテムのコピーを取得します。
-
このコマンドは、リビジョンの
dID
(コンテンツ・アイテムのリビジョンID)を計算し、計算されたdID
を持つリビジョンの特定のレンディションのファイル名を特定します。指定されたdID
、またはdDocName
(コンテンツ・アイテム名)とRevisionSelectionMethod
パラメータを使用できます。 -
dID
、またはdDocName
とRevisionSelectionMethod
パラメータが指定されると、このサービスは、そのリビジョンの特定のレンディションのファイル名を特定し、そのファイルをクライアントに返します。 -
最も発生しがちなエラーは、パラメータになんらかの不整合があるか、存在しないリビジョンまたはレンディションに対するリクエストであることです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。
ノート:
リクエスタが
dDocName
値を認識しているコンテンツ・アイテムに対するすべてのリクエストで、dDocName
を使用してください。コンテンツ・サーバーのエラー・メッセージは、フォームなど、他の機能と同様に、dDocName
値が存在しているという想定に基づいています。
31.3.3.10.1 必須パラメータ
次のパラメータを指定する必要があります。
ノート:
コンテンツ・アイテムのリビジョンID (dID
)が指定されているか、コンテンツ・アイテム名(dDocName
)とRevisionSelectionMethod
パラメータが定義されている必要があります。
パラメータ | 説明 |
---|---|
|
コンテンツ・アイテムの識別子(コンテンツID)。
|
|
生成済のコンテンツ・アイテムのリビジョンID。
|
|
リビジョン選択メソッド。 これが指定された場合は、
|
|
|
31.3.3.10.2 オプションのパラメータ
次のオプション・パラメータを指定できます。
パラメータ | 説明 |
---|---|
|
コンテンツ・アイテムのレンディション。このパラメータは、コンテンツ・アイテムのレンディションを指定するもので、
たとえば、 |
ノート:
コンテンツID (dDocName
)と内部のコンテンツ・アイテム・リビジョン識別子(dID
)を混同しないでください。dID
値は、コンテンツ・アイテムの特定のレンディションへの、生成済の参照です。
31.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>
31.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--
31.3.3.11 検索結果の取得
GET_SEARCH_RESULTS
サービスは、渡された問合せテキストに対する検索結果を取得します。
-
コンテンツ・アイテムの問合せを行ったユーザーに検索結果を表示するために使用されます。
-
QueryText
パラメータにTitle
やContent ID
などの値を添付して、このサービスで返される結果を絞り込むことができます。QueryText
パラメータは、問合せを定義します。SOAPメッセージで使用するためには、この問合せはXMLエンコードである必要があります。次の例では、コンテンツ・アイテムの問合せのために送信される文字列を標準フォーマットで渡す場合と、XMLエンコード・フォーマットで渡す場合の両方を示します。-
標準フォーマットの文字列が指定されたパラメータは次のとおりです。
QueryText=dDocType <Substring> "ADSALES"
-
XMLエンコードの文字列が指定されたパラメータは次のとおりです。
<idc:field name="QueryText"> dDocType <Substring> `ADSALES` </idc:field>
XMLエンコードの文字列のフォーマットの詳細は、「特殊文字」を参照してください。
-
-
このサービスを実行できない場合、
「検索結果を取得できません」
というメッセージが表示されます。
31.3.3.11.1 必須パラメータ
次のパラメータを指定する必要があります。
パラメータ | 説明 |
---|---|
|
|
|
コンテンツ・アイテムの問合せのために送信される、ユーザーが指定したテキスト。 |
31.3.3.11.2 オプションのパラメータ
次のオプション・パラメータを指定できます。
パラメータ | 説明 |
---|---|
|
返される結果の数。デフォルトは |
|
ソートの基準となるメタデータ・フィールドの名前。
|
|
ソート順序。使用できる値は、 |
|
次の検索結果として取得される最初の行。たとえば、結果として200行が返され、 |
31.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>
31.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"> <$dDocTitle$> </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>
31.3.3.12 表のデータの取得
GET_TABLE
サービスは、WebCenter Contentデータベースから、指定された表をエクスポートします。
-
ResultSetを作成し、シリアル化されたHDAファイルにそれを追加することにより、指定された表をエクスポートします。表が見つからない場合、サービスは失敗します。シリアル化されたHDAファイルを受信して、後で使用するためにこのResultSetを格納するのは、コール元プログラムです。
-
最も発生しがちなエラーは、表名が存在しないことです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。
31.3.3.12.1 必須パラメータ
次のパラメータを指定する必要があります。
パラメータ | 説明 |
---|---|
|
|
|
エクスポートする表の名前。 |
31.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>
31.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>
31.3.3.13 基準ワークフロー情報の取得
GET_CRITERIA_WORKFLOWS_FOR_GROUP
サービスは、基準ワークフロー情報を返します。
-
セキュリティ・グループが指定されると、このサービスは、ワークフローおよび関連ステップのリストを返します。
-
ResultSetsの
WorkflowsForGroup
およびWorkflowStepsForGroup
を返します。-
WorkflowsForGroup
では、このグループに対するすべてのワークフローがリストされます(dWfID
、dWfName
)。 -
WorkflowStepsForGroup
では、このグループに対するすべてのワークフローのすべてのステップがリストされます(dWfID
、dWfName
、dWfStepID
、dWfStepName
)。
-
-
「ワークフロー管理」管理アプレットの「条件」タブから、基準ワークフローおよびサブワークフローを追加、編集、有効化、無効化および削除できます。
-
最も発生しがちなエラーは、指定のセキュリティ・グループが存在しないか、ユーザーがセキュリティ・チェックに失敗することです。そのような状況では、サービスは、ユーザーに表示するための適切な例外をスローします
31.3.3.13.1 必須パラメータ
次のパラメータを指定する必要があります。
パラメータ | 説明 |
---|---|
|
|
|
|
31.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>
31.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>
31.4 Active Server PageにおけるSOAPパケットの使用
実行するサービスと必須パラメータを定義するSOAPパケットをカプセル化することで、Active Server Pageからコンテンツ・サーバーのIdcCommandサービスを実行できます。コマンドを実行するための適切な権限が必要です。管理者アクセスを必要とするコマンドもあれば、書込み権限のみを必要とするコマンドもあります。
31.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>
31.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> </td> <td><b>Title</b></td> <td> </td> <td><b>Type</b></td> <td> </td> <td><b>Release Date</b></td> <td> </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> </td> <td><%=strDocTitle%></td> <td> </td> <td><%=strDocType%></td> <td> </td> <td><%=strInDate%></td> <td> </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 ‘--------------------------- %>
31.5 WebCenter ContentにアクセスするためのWSDLファイルの生成
WebCenter Contentサービスとの接続のためにWSDLファイルを生成できます。
31.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ファイル」を参照してください。
31.5.1.1 WSDLファイル構造
WSDLファイルは、形式上、Webサービスに渡されるデータの説明を含む要素で構造化されます。この構造は、交換されるデータを解析するために、アプリケーションの送信とアプリケーションの受信を可能にします。
WSDL要素には、データ上で実行される操作の説明およびプロトコルまたはトランスポートへのバインディングが含まれます。これにより、データの処理と、応答する方法やデータを返す方法の解釈の両方のために、アプリケーションを受信できるようになります。各WSDL要素内に、追加のサブ要素が含まれる場合もあります。
WSDLファイル構造には、次の主要素が含まれます。
-
データ型: 一般に、メッセージで使用されるXMLスキーマの形式を取ります。
-
メッセージ: 完全なドキュメント、またはメソッド起動にマップされる引数として、メッセージの形式をとるデータの定義。
-
ポート・タイプ: アドレスにマップされた操作のセット。これは、バインディングのための操作のコレクションを定義します。
-
バインディング: 特定のポート・タイプにおける操作とメッセージで実際に使用されるプロトコルとデータ形式。
-
サービスとポート: サービスは、バインディングをポートにマップし、ポートは、バインディングと、通信交換のためのネットワーク・アドレスの組合せです。
ノート:
次のコード・フラグメントは、WSDLジェネレータ・コンポーネントとともに提供される
DocInfo.wsdl
ファイルにあるものです。完全なWSDLファイルについては、「サンプルのWSDLファイル」を参照してください。
31.5.1.1.1 データ型
データ型<types>は複合型および関連する要素を定義します。Webサービスは、単純なデータ型(文字列、整数、ブールなど)と複雑なデータ型の両方をサポートします。複雑な型は、複数の単純な型またはサブ要素の配列を含む構造化されたXMLドキュメントです。
ContentInfo
セットに対する次のコード・フラグメントでは、Name
、Title
、Author
および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>
31.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>
31.5.1.1.3 ポート・タイプ
ポート・タイプ<portType>は、バインディングのための操作のコレクションを定義します。DocInfo.wsdl
ファイルは、DocInfoSoap
とDocInfo
操作名(メソッド名)を、メッセージを処理するためのI/O情報とともに提供します。
<portType name="DocInfoSoap"> <operation name="DocInfoByID"> <input message="s0:DocInfoByIDSoapIn" /> <output message="s0:DocInfoByIDSoapOut" /> </operation> </portType>
ノート:
ポート・タイプは、(Javaにおけるクラスと同様に)操作のコレクションです。一方、WSDLは、.NET、EJBまたはCORBAオブジェクトへの単なるマッピングよりも多くの機能を提供する、独立したデータ抽象化です。
31.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>
31.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コードを表示できます。
31.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>
31.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ファイルのカスタマイズ」を参照してください。
31.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ファイルの生成」を参照してください。
31.6 WSDLファイルのカスタマイズ
SoapカスタムWSDL管理ページには、管理者がWSDLファイルを編集およびカスタマイズできる機能があります。この章では、カスタムWSDLの作成および編集に関するステップバイステップのステップを説明する管理のチュートリアルを提供します。
WSDLファイルを生成するには、WSDLジェネレータ・コンポーネントを有効にする必要があります。WSDLジェネレータ・コンポーネントで提供されるWSDLファイルに加えて、任意のWebCenter Contentサービス用の追加のWSDLファイルを生成することもできます。詳細は、「WSDLファイルの生成」を参照してください。
使用可能なサービスおよび必須パラメータのリストについては、『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』のOracle WebCenter Contentサービスのリストに関する項を参照してください。
SoapカスタムWSDL管理ページを使用してカスタムWSDLファイルを作成および編集するには: