リゾルバー サービス サンプルのしくみ
リゾルバー サービスのサンプルでは、Resolver サービスをインスタンス化し、処理のために指定したメッセージを渡します。 Resolver Service サンプル クライアント アプリケーションは、複数のリゾルバー要求を含む ResolverList.xml ファイルへのパスとして最初のパラメーターを使用し、これらの要求をリゾルバー サービスに送信します。 たとえば、サンプルで使用される XPATH 要求を次に示します。
//XPATH
<Resolver>
<name>XPATHWithFILE</name>
<Content>![CDATA[XPATH:\\TransportLocation=/*[local-name()='OrderDoc'
and namespace-uri()='http://globalbank.esb.dynamicresolution.com/
northamericanservices/']/*[local-name()='ID' and namespace-
uri()='http://globalbank.esb.dynamicresolution.com/
northamericanservices/'];TargetNamespace=;
MessageExchangePattern=;EndpointConfig=;JaxRpcResponse=;TransportType=;
Action=;TransformType=]]
</Content>
<body>
![CDATA[
<ns0:OrderDoc xmlns:ns0="http://globalbank.esb.dynamicresolution.com/northamericanservices/">
<ns0:customerName>Microsoft</ns0:customerName>
<ns0:ID>FILE://C:\Projects\Microsoft.Practices.ESB\Source\Samples
\DynamicResolution\Test\Filedrop\OUt\%MessageID%.xml</ns0:ID>
<ns0:requestType>10</ns0:requestType>
</ns0:OrderDoc>
]]
</body>
</Resolver>
Note
Content> 要素の<実際のコンテンツには、前の一覧の行を折り返すために使用される空白文字は含まれていません。
上記の一覧は、要求に Content> 要素内のリゾルバー構成接続文字列が含まれていることを<示しています。 body> 要素には<、メッセージ本文が含まれています。
リゾルバー サービスは、ResolverMgr クラスを使用して、接続文字列のリゾルバー型によって定義された適切なリゾルバーの具象インスタンスをインスタンス化します。 XPATH 要求の場合、これは XPATH リゾルバーです。
次に、フレームワークは ESB という名前の ResolveProvider クラスのインスタンスを作成します。要求を処理する Resolver.XPath。 クライアント アプリケーションは、リゾルバー サービスからの応答メッセージを \Source\Samples\ResolverService\Output という名前のフォルダーに書き込みます。 次の一覧は、応答の内容を示しています。
//XPATH
Resolver.Action =
Resolver.ActionField =
Resolver.DocumentSpecName =
Resolver.DocumentSpecStrongName =
Resolver.EndpointConfig =
Resolver.EpmRRCorrelationToken =
Resolver.FixJaxRpc = False
Resolver.InboundTransportLocation =
Resolver.InboundTransportType =
Resolver.InterchangeId =
Resolver.IsRequestResponse =
Resolver.MessageExchangePattern =
Resolver.MessageType =
Resolver.MethodName =
Resolver.OutboundTransportCLSID =
Resolver.ReceiveLocationName =
Resolver.ReceivePortName =
Resolver.Success = False
Resolver.TargetNamespace =
Resolver.TransformType =
Resolver.TransportLocation = FILE://C:\Projects\Microsoft.
Practices.ESB\Source\Samples
\DynamicResolution\Test\Filedrop\OUt\%MessageID%.xml
Resolver.TransportNamespace =
Resolver.TransportType = FILE
Resolver.WindowUserField =