关于解析器服务样本的问题 [英] Question on Resolver Service sample
问题描述
我跑了"1。 RunTestClient_ASMX.cmd" ResolverService示例并查看生成的输出文件。对于以下解析器,
< Resolver>
< name> STATICWithFile< / name>
< Content>![CDATA [STATIC:\\TransportLocation = FILE:// C:\Projects\Microsoft.Practices.ESB \Source \Samples \ DynamicResolution\Test \ Filedrop\OUt\%的MessageID%的.xml;的targetNamespace =; MessageExchangePattern =; EndpointConfig =; JaxRpcResponse =; TransportType =;动作=; TransformType =〕25 /内容和GT;
< body>< / body>
< / Resolver>
相应的输出文件(STATICWithFile.txt)内容是
Resolver.Action =
Resolver.ActionField =
Resolver.DocumentSpecName =
Resolver.DocumentSpecStrongName =
Resolver.EndpointConfig =
Resolver.EpmRRCorrelationToken =
Resolver.FixJaxRpc =假
Resolver.InboundTransportLocation =
Resolver.InboundTransportType =
Resolver.InterchangeId =
Resolver.IsRequestResponse =
Resolver.MessageExchangePattern =双向
Resolver.MessageType =
Resolver.MethodName =
Resolver.OutboundTransportCLSID =
Resolver.ReceiveLocationName =
Resolver.ReceivePortName =
Resolver.Success =假
Resolver.TargetNamespace =
Resolver.TransformType =
Resolver.TransportLocation = FILE:// C:\Projects\Microsoft.Practices.ESB\Source\Samples\DynamicResolution\Test\Filedrop\OUt\ %MessageID%.xml
Resolver.T ransportNamespace =
Resolver.TransportType = FILE
Resolver.WindowUserField =
我不明白的是ESB.ResolverServices如何以及在何处解析和查找Resolver.MessageExchangePattern为双向?它是旋转变压器连接字符串中的空字符串。
对于UddiWithServiceKey解析器,Resolver.MessageExchangePattern被解析为One-Way。我在
http:// uddi 网站上查看了已发布的提供商,但找不到与MessageExchangePattern相关的任何配置,定义为One-Way和resolver连接字符串也没有指定它。
我只是好奇ESB.ResolverServices在哪里找到出站端点的MessageExchangePattern?
提前谢谢!!!
如果您在解析器上使用UDDI绑定,那么您必须在UDDI服务端点添加messageExchange模式
UDDI TModel密钥:
uddi:esb:messageexchangepattern
如果您已完成上述操作,请尝试从行程中测试您的解析器,您应该能够看到如下所示。
<解析器>
< Name> Resolver.IsRequestResponse< / Name>
< Value />
< / Resolver>
< Resolver>
< Name> Resolver.MessageExchangePattern< / Name>
< Value> 双向< / Value>
< / Resolver>
< Resolver>
< Name> Resolver.MessageType< / Name>
< Value />
< / Resolver>跨度>
___________________________________________________________
如果这有用或回答您的问题 - 请标记为答案并投票为有用。
跨度>
I ran "1. RunTestClient_ASMX.cmd" of ResolverService sample and looked at the generated output files. For the following resolver,
<Resolver> <name>STATICWithFile</name> <Content>![CDATA[STATIC:\\TransportLocation=FILE://C:\Projects\Microsoft.Practices.ESB\Source\Samples\DynamicResolution\Test\Filedrop\OUt\%MessageID%.xml;TargetNamespace=;MessageExchangePattern=;EndpointConfig=;JaxRpcResponse=;TransportType=;Action=;TransformType=]]</Content> <body></body> </Resolver>
the corresponding output file (STATICWithFile.txt) content is
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 = two-way 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 =
The thing I don't understand is how and where ESB.ResolverServices resolves and finds Resolver.MessageExchangePattern as two-way? It is empty string in resolver connection string.
For UddiWithServiceKey resolver, the Resolver.MessageExchangePattern is resolved as One-Way. I checked the published provider on http://uddi web site and couldn't find any configuration related to MessageExchangePattern defined as One-Way and resolver connection string doesn't specify it either.
I'm just curious where ESB.ResolverServices finds MessageExchangePattern of the outbound endpoint?
Thanks in advance!!!
If you are using UDDI binding at your Resolver then you must add messageExchange patter at your UDDI Service endpoint
UDDI TModel Key:
uddi:esb:messageexchangepattern
If you have done the above then try test your resolver from itinerary you should be able to see like below.
<Resolver> <Name>Resolver.IsRequestResponse</Name> <Value /> </Resolver> <Resolver> <Name>Resolver.MessageExchangePattern</Name> <Value>Two-Way</Value> </Resolver> <Resolver> <Name>Resolver.MessageType</Name> <Value /> </Resolver>
___________________________________________________________
If this is helpful or answers your question - please mark as answer and vote as helpful.
这篇关于关于解析器服务样本的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!