Freigeben über


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 =