2.9.7 アプリケーション構成ファイルの設定方法
WCF連携機能でTP1IntegrationBindingを使用する場合のWCFの設定方法について説明します。なお,WCFの設定方法の詳細については,.NET Frameworkのドキュメントを参照してください。また,Connector .NET構成定義の詳細については,「3. 構成定義」を参照してください。
WCF連携機能を使用する場合,呼び出すサービスおよびクライアントの設定を,アプリケーション構成ファイルの<system.serviceModel>要素に記述します。
形式
形式の(1)〜(4)は,次に説明する番号に対応しています。
- 〈この項の構成〉
(1) <client>要素に定義する内容
(a) 形式
<client> <endpoint name="<endpoint>要素の名称" address="呼び出したいOpenTP1のサービスの位置情報" binding="tp1IntegrationBinding" contract="WCF連携機能で使用するサービスコントラクト" behaviorConfiguration="<behavior>要素のname属性の値" bindingConfiguration=""> </endpoint> </client>
(b) 要素
■ endpoint
WCFのクライアント側のendpointを設定する要素です。
この要素は省略できません。
(c) 属性
■ name
<endpoint>要素の名称を指定します。
■ address
呼び出したいOpenTP1のサービスの位置情報をopentp1.rpc URIの形式で指定します。
opentp1.rcp URIの形式および指定例については,「2.9.5 接続先OepnTP1のサービスの位置情報の指定形式」を参照してください。
この属性は省略できません。
■ binding
「tp1IntegrationBinding」を指定します。
この属性は省略できません。また,大文字と小文字が区別されるため注意してください。
■ contract
WCF連携機能で使用するサービスコントラクトを完全限定名で指定します。
この属性は省略できません。
■ behaviorConfiguration
<tp1Behavior>要素を含む<behavior>要素を指定します。この属性は,<behavior>要素のname属性と同じ値を指定してください。
この属性は省略できません。
■ bindingConfiguration
WCF連携機能では使用しません。この属性は省略するか,または空文字を指定してください。
(2) <bindings>要素に定義する内容
(a) 形式
<bindings> <tp1IntegrationBinding /> </bindings>
(b) 要素
■ tp1IntegrationBinding
tp1IntegrationBindingのBindingについて設定する要素です。tp1IntegrationBindingを設定する場合,「<tp1IntegrationBinding />」と記述します。
この要素は省略できません。
この要素は,属性および子要素を持ちません。
(3) <behaviors>要素に定義する内容
(a) 形式
<behaviors> <endpointBehaviors> <behavior name="<behavior>要素を一意に識別するための名称"> <tp1Behavior /> </behavior> </endpointBehaviors> </behaviors>
(b) 要素
■ endpointBehaviors
子要素として,<behavior>要素を定義します。
この要素は省略できません。
■ behavior
Bindingの検証を設定する要素です。
この要素は省略できません。
子要素として,<tp1Behavior>要素を定義します。
■ tp1Behavior
tp1IntegrationBehaviorについて設定する要素です。tp1Behaviorを設定する場合,「<tp1Behavior />」と記述します。
この要素は省略できません。
この要素は,属性および子要素を持ちません。
(c) 属性
■ name
<behavior>要素を一意に識別するための名称を指定します。この属性は,<endpoint>要素のbehaviorConfiguration属性と同じ値を指定してください。
この属性は省略できません。
(4) <extensions>要素に定義する内容
(a) 形式
<extensions> <behaviorExtensions> <add name="tp1Behavior" type="Hitachi.OpenTP1.ServiceModel.TP1Integration. TP1IntegrationBehaviorElement, Hitachi.OpenTP1.ServiceModel.TP1Integration, Version=7.0.0.0, Culture=neutral, PublicKeyToken=2440cf5f0d80c91c" /> </behaviorExtensions> <bindingExtensions> <add name="tp1IntegrationBinding" type="Hitachi.OpenTP1.ServiceModel.TP1Integration. TP1IntegrationBindingCollectionElement, Hitachi.OpenTP1.ServiceModel.TP1Integration, Version=7.0.0.0, Culture=neutral, PublicKeyToken=2440cf5f0d80c91c"/> </bindingExtensions> </extensions>
(b) 要素
■ extensions
bindingやbehaviorを拡張するための設定をする要素です。
この要素は省略できません。
子要素として,<behaviorExtensions>要素および<bindingExtensions>要素を定義します。
■ behaviorExtensions
<tp1Behavior>要素をアプリケーション構成ファイルに定義できるように機能を拡張するための要素です。
この要素は省略できません。
子要素として,<add>要素を次のように定義します。
<behaviorExtensions> <add name="tp1Behavior" type="Hitachi.OpenTP1.ServiceModel.TP1Integration. TP1IntegrationBehaviorElement, Hitachi.OpenTP1.ServiceModel.TP1Integration, Version=7.0.0.0, Culture=neutral, PublicKeyToken=2440cf5f0d80c91c" /> </behaviorExtensions>
■ bindingExtensions
<tp1IntegrationBinding>要素をアプリケーション構成ファイルに定義できるように機能を拡張するための要素です。
この要素は省略できません。
子要素として,<add>要素を次のように定義します。
<bindingExtensions> <add name="tp1IntegrationBinding" type="Hitachi.OpenTP1.ServiceModel.TP1Integration. TP1IntegrationBindingCollectionElement, Hitachi.OpenTP1.ServiceModel.TP1Integration, Version=7.0.0.0, Culture=neutral, PublicKeyToken=2440cf5f0d80c91c"/> </bindingExtensions>
(5) アプリケーション構成ファイルの設定例
WCF連携機能でTP1IntegrationBindingを使用する場合のアプリケーション構成ファイルの設定例を次に示します。WCFの設定以外の記述は,Connector .NET構成定義です。Connector .NET構成定義については,「3. 構成定義」を参照してください。
<configuration> <configSections> <section name="hitachi.opentp1.connector" type="Hitachi.OpenTP1.Common.Util.ProfileSectionHandler, Hitachi.OpenTP1.Client,Version=7.0.0.0, Culture=neutral,PublicKeyToken=2440cf5f0d80c91c, Custom=null" /> <section name="hitachi.opentp1.client" type="Hitachi.OpenTP1.Common.Util.ProfileSectionHandler, Hitachi.OpenTP1.Client,Version=7.0.0.0, Culture=neutral,PublicKeyToken=2440cf5f0d80c91c, Custom=null" /> </configSections> <!-- WCFの設定 --> <system.serviceModel> <client> <endpoint name="Gyoumu1" address="opentp1.rpc://MyProfile1/Gyoumu1" binding="tp1IntegrationBinding" contract="Hitachi.OpenTP1.ServiceModel .TP1Integration.ITP1Rpc" behaviorConfiguration="TP1BehaviorConfig"> </endpoint> <endpoint name="Gyoumu2" address="opentp1.rpc:///Gyoumu2" binding="tp1IntegrationBinding" contract="Hitachi.OpenTP1.ServiceModel .TP1Integration.ITP1Rpc" behaviorConfiguration="TP1BehaviorConfig"> </endpoint> </client> <bindings> <tp1IntegrationBinding /> </bindings> <behaviors> <endpointBehaviors> <behavior name="TP1BehaviorConfig"> <tp1Behavior /> </behavior> </endpointBehaviors> </behaviors> <extensions> <behaviorExtensions> <add name="tp1Behavior" type="Hitachi.OpenTP1.ServiceModel.TP1Integration .TP1IntegrationBehaviorElement, Hitachi.OpenTP1.ServiceModel.TP1Integration, Version=7.0.0.0, Culture=neutral, PublicKeyToken=2440cf5f0d80c91c" /> </behaviorExtensions> <bindingExtensions> <add name="tp1IntegrationBinding" type="Hitachi.OpenTP1.ServiceModel.TP1Integration .TP1IntegrationBindingCollectionElement, Hitachi.OpenTP1.ServiceModel.TP1Integration, Version=7.0.0.0, Culture=neutral, PublicKeyToken=2440cf5f0d80c91c"/> </bindingExtensions> </extensions> </system.serviceModel> <!-- Connector .NETの構成定義--> <hitachi.opentp1.connector> <common> <client conf=""/> <connection pooled="20" active="100" threshold="80" watchtime="120" failureInfoSharing="true" failureCheckInterval="300"> <occupation pooled="10"/> </connection> <log destination="c:\temp\connectorn" fileSize="1048576" level="1"/> <buffer pooling="true" create="false"> <largestBufferPool maxCount="5" threshold="100" /> <bufferPool size="102400" maxCount="50" threshold="120" /> <bufferPool size="10240" maxCount="50" threshold="150" /> </buffer> <perfCounter use="true" /> <option maxMessageSize="8" /> </common> <profile id="MyProfile1"> <client conf="clinetProfile1"/> <connection> <occupation pooled="2"/> </connection> </profile> </hitachi.opentp1.connector> <hitachi.opentp1.client> <common> <tp1Server host="hostA" /> <rpc use="nam" watchTime="0" /> <nameService port="10000" /> </common> <profile id="traceMode"> <errTrace use="true" path="c:\temp\clientn" fileSize="100000" /> <methodTrace use="true" path="c:\temp\clientn" fileSize="100000" /> <uapTrace use="true" path="c:\temp\clientn" fileSize="100000" /> <dataTrace use="true" path="c:\temp\clientn" fileSize="100000" /> <profile id="clinetProfile1"> <tp1Server host="hostA" /> <rpc use="nam" watchTime="0" /> <nameService port="10000" /> </profile> </hitachi.opentp1.client> </configuration>