Funktionsweise des Beispiels „Der Resolver-Webdienst“
Das Resolverdienstbeispiel instanziiert den Resolverdienst und übergibt die von Ihnen angegebene Nachricht zur Verarbeitung. Die Clientanwendung des Resolverdienstbeispiels verwendet den ersten Parameter als Pfad zur ResolverList.xml-Datei, die mehrere Resolveranforderungen enthält, und sendet diese Anforderungen an den Resolver-Dienst. Im Folgenden wird z. B. die im Beispiel verwendete XPATH-Anforderung angezeigt.
//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>
Hinweis
Der tatsächliche Inhalt des <Content-Elements> enthält nicht die Leerzeichen, die zum Umschließen der Zeilen in der vorherigen Auflistung verwendet werden.
Die obige Auflistung zeigt, dass die Anforderung die Auflösungskonfiguration Verbindungszeichenfolge in einem <Content-Element> enthält. Das <body-Element> enthält den Nachrichtentext.
Der Resolver-Dienst verwendet die ResolverMgr-Klasse, um eine konkrete instance des entsprechenden Resolvers zu instanziieren, die durch den Resolvertyp im Verbindungszeichenfolge definiert wird. Im Fall der XPATH-Anforderung ist dies der XPATH-Resolver.
Als Nächstes erstellt das Framework eine instance der ResolveProvider-Klasse namens ESB. Resolver.XPath zum Verarbeiten der Anforderung. Die Clientanwendung schreibt die Antwortnachricht aus dem Resolver-Dienst in den Ordner \Source\Samples\ResolverService\Output. Die folgende Auflistung zeigt den Inhalt der Antwort.
//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 =