Fonctionnement de l’exemple de service de résolveur
L’exemple Service de résolution instancie le service de résolution et lui transmet le message que vous spécifiez pour traitement. L’exemple d’application cliente du service de résolution utilise le premier paramètre comme chemin d’accès au fichier ResolverList.xml, qui contient plusieurs demandes de programme de résolution, et envoie ces demandes au service de résolution. Par exemple, voici la requête XPATH utilisée dans l’exemple.
//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>
Notes
Le contenu réel de l’élément <Content> ne contient pas les espaces blancs utilisés pour encapsuler les lignes de la description précédente.
La liste précédente indique que la requête contient la configuration du programme de résolution chaîne de connexion dans un <élément Content>. L’élément< body> contient le corps du message.
Le service Resolver utilise la classe ResolverMgr pour instancier un instance concret du programme de résolution approprié, défini par le type de résolveur dans le chaîne de connexion. Dans le cas de la requête XPATH, il s’agit du programme de résolution XPATH.
Ensuite, l’infrastructure crée une instance de la classe ResolveProvider nommée ESB. Resolver.XPath pour traiter la demande. L’application cliente écrit le message de réponse du service resolver dans le dossier nommé \Source\Samples\ResolverService\Output. La liste suivante montre le contenu de la réponse.
//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 =